:root{font-family:Courier New,monospace;line-height:1.5;font-weight:400;--light-gray: #F5F5F5;--blue-gray: #B8C5D6;--purple-gray: #A8A2C0;--royal-blue: #2E5BBA;--dark-gray: #5A6670;--primary-color: var(--royal-blue);--secondary-color: var(--purple-gray);--accent-color: var(--blue-gray);--paper-bg: var(--light-gray);--text-color: var(--dark-gray);--grid-color: #e8e8e8;color:var(--text-color);background-color:var(--paper-bg);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:20px 20px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.app{min-height:100vh;padding:10px}.navigation{display:flex;gap:20px;margin-top:20px;margin-bottom:20px;justify-content:center;flex-wrap:wrap}.navigation button{background:none;border:2px solid var(--primary-color);color:var(--primary-color);padding:8px 16px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .3s ease;border-radius:0;position:relative}.navigation button:hover,.navigation button.active{background-color:var(--primary-color);color:var(--paper-bg);box-shadow:0 0 10px #2e5bba4d}.main-content{max-width:1200px;margin:0 auto}.handwritten-title{font-family:Courier New,monospace;color:var(--primary-color);font-size:2.5rem;text-align:center;margin:20px 0;font-weight:400;letter-spacing:2px;text-shadow:2px 2px 0px var(--accent-color)}.handwritten-subtitle{font-family:Courier New,monospace;color:var(--text-color);font-size:1.8rem;text-align:center;margin:10px 0;font-weight:400;text-decoration:underline;text-decoration-color:var(--primary-color)}.minimal-footer{text-align:center;margin-top:20px}.minimal-footer p{font-family:Courier New,monospace;color:var(--text-color);font-size:12px;margin:0;opacity:.7;font-weight:700}.corner-logo{position:fixed;bottom:20px;right:20px;z-index:1000}.corner-logo img{width:40px;height:40px;opacity:.7;transition:opacity .3s ease}.corner-logo img:hover{opacity:1}@media(max-width:768px){.corner-logo{bottom:15px;right:15px}.corner-logo img{width:35px;height:35px}}@media(max-width:480px){.corner-logo{bottom:10px;right:10px}.corner-logo img{width:30px;height:30px}}.app{min-height:100vh}.portfolio{padding:20px}.portfolio-header{text-align:center;margin-bottom:40px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px;max-width:1400px;margin:0 auto;padding:20px}.project-card{background-color:var(--paper-bg);border:2px solid var(--primary-color);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:flex;flex-direction:column;min-height:280px;position:relative}.client-badge{position:absolute;top:10px;right:10px;background-color:#f44;color:#fff;padding:4px 8px;font-family:Courier New,monospace;font-size:.7rem;font-weight:700;z-index:5;transform:rotate(5deg);box-shadow:0 2px 4px #0003}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #2e5bba26}.project-header{background-color:var(--accent-color);padding:16px;border-bottom:2px solid var(--primary-color);display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.project-title{font-family:Courier New,monospace;color:var(--primary-color);font-size:1.2rem;font-weight:700;margin:0;line-height:1.3;flex:1}.status-badge{font-family:Courier New,monospace;font-size:.8rem;padding:4px 8px;border:1px solid;font-weight:700;white-space:nowrap}.status-badge.completed{background-color:#d4edda;color:#155724;border-color:#155724}.status-badge.in-progress{background-color:#fff3cd;color:#856404;border-color:#856404}.status-badge.planning{background-color:#f8d7da;color:#721c24;border-color:#721c24}.project-content{padding:16px;flex:1;display:flex;flex-direction:column;gap:12px}.project-description{font-family:Courier New,monospace;color:var(--text-color);font-size:.95rem;line-height:1.5;margin:0;flex:1}.project-technologies{display:flex;flex-wrap:wrap;gap:8px}.tech-badge{font-family:Courier New,monospace;background-color:var(--paper-bg);color:var(--primary-color);padding:4px 8px;font-size:.8rem;border:1px solid var(--primary-color);font-weight:700}.project-footer{padding:16px;border-top:1px solid var(--accent-color);background-color:var(--paper-bg)}.project-link{background:none;border:2px solid var(--primary-color);color:var(--primary-color);padding:8px 16px;font-family:Courier New,monospace;font-size:14px;cursor:pointer;transition:all .3s ease;width:100%}.project-link:hover{background-color:var(--primary-color);color:var(--paper-bg)}@media(max-width:768px){.projects-grid{grid-template-columns:1fr;gap:20px;padding:10px}.project-card{min-height:250px}.project-header{padding:14px;flex-direction:column;align-items:flex-start;gap:8px}.project-title{font-size:1.1rem}.project-content{padding:14px}.project-description{font-size:.9rem}.project-footer{padding:14px}}@media(max-width:480px){.project-header{padding:12px}.project-title{font-size:1rem}.project-content{padding:12px}.project-description{font-size:.85rem}.tech-badge{font-size:.75rem;padding:3px 6px}.project-footer{padding:12px}}.about{padding:40px 20px}.about-container{max-width:1000px;margin:0 auto;border:3px solid var(--primary-color);padding:40px;background-color:var(--paper-bg);display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;box-shadow:8px 8px 0 var(--accent-color)}.developer-photo{border:2px solid var(--primary-color);padding:10px;box-shadow:4px 4px 0 var(--accent-color);position:relative}.photo-image{width:100%;height:300px;object-fit:cover;display:block;transform:rotate(-1deg)}.photo-paper-clip{position:absolute;top:-15px;left:20px;width:30px;height:auto;z-index:10;transform:rotate(-15deg)}.developer-info{padding:0 20px 20px}.developer-info .handwritten-title{text-align:left;margin-top:0;margin-bottom:30px;font-size:2rem}.developer-info .handwritten-subtitle{text-align:left;margin-top:0;margin-bottom:30px;font-size:1.5rem}.skills-section{margin-top:30px}.skills-title{font-family:Courier New,monospace;color:var(--primary-color);font-size:18px;margin-bottom:15px}.skills-list{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{background-color:var(--secondary-color);color:var(--paper-bg);padding:5px 12px;font-family:Courier New,monospace;font-size:12px;border:1px solid var(--primary-color)}.cv-download-button{background-color:var(--primary-color);border:none;color:var(--paper-bg);padding:10px 20px;font-family:Courier New,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:25px;letter-spacing:1px;position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%)}.cv-download-button:hover{background-color:var(--secondary-color);transform:translate(3px);box-shadow:-3px 3px 10px #2e5bba4d}.cv-download-button:active{transform:translate(1px);box-shadow:-1px 1px 5px #2e5bba33}.bio-text{font-family:Courier New,monospace;line-height:1.6;color:var(--text-color)}.bio-text p{margin-bottom:20px;font-size:16px}@media(max-width:768px){.about-container{grid-template-columns:1fr;gap:30px;padding:20px}.developer-photo{max-width:250px;margin:0 auto}.photo-paper-clip{width:25px;top:-12px;left:15px;transform:rotate(-12deg)}.developer-info .handwritten-title{text-align:center}}.writing{padding:40px 20px;max-width:1200px;margin:0 auto}.writing-header{text-align:center;margin-bottom:30px}.handwritten-intro{font-family:Courier New,monospace;color:var(--primary-color);font-size:1.5rem;margin-bottom:20px;letter-spacing:1px}.section-tabs{display:flex;justify-content:center;gap:20px;margin-bottom:40px}.tab-button{background:none;border:2px solid var(--primary-color);color:var(--primary-color);padding:12px 24px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .3s ease}.tab-button:hover,.tab-button.active{background-color:var(--primary-color);color:var(--paper-bg);box-shadow:0 4px 15px #2e5bba4d}.section-subtitle{font-family:Courier New,monospace;color:var(--secondary-color);font-size:1.2rem;text-align:center;margin-bottom:30px;letter-spacing:.5px}.posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;margin-top:40px}.post-frame{border:2px solid var(--primary-color);padding:25px;background-color:var(--paper-bg);transition:transform .3s ease;box-shadow:4px 4px 0 var(--accent-color)}.post-content{font-family:Courier New,monospace}.post-title{color:var(--primary-color);font-size:1.3rem;margin-bottom:15px;font-weight:400;border-bottom:1px solid var(--primary-color);padding-bottom:5px}.post-excerpt{color:var(--text-color);line-height:1.5;margin-bottom:15px;font-size:14px}.post-tags{margin-bottom:15px}.tag{background-color:var(--secondary-color);color:var(--paper-bg);padding:3px 8px;font-size:11px;margin-right:8px;border:1px solid var(--primary-color)}.post-date{color:var(--primary-color);font-size:12px;font-style:italic}.papers-grid{display:grid;grid-template-columns:1fr;gap:25px;margin-top:40px}.paper-frame{border:2px solid var(--primary-color);padding:30px;background-color:var(--paper-bg);transition:transform .3s ease;box-shadow:4px 4px 0 var(--accent-color)}.paper-content{font-family:Courier New,monospace}.paper-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;gap:15px}.paper-title{color:var(--primary-color);font-size:1.4rem;margin:0;font-weight:700;line-height:1.3;flex:1}.status-badge{padding:4px 12px;font-size:11px;font-weight:700;white-space:nowrap}.status-badge.published{background-color:#4caf50;color:#fff}.status-badge.under-review{background-color:#ff9800;color:#fff}.paper-authors{color:var(--text-color);font-size:14px;margin:8px 0;font-style:italic}.paper-journal{color:var(--secondary-color);font-size:13px;margin:8px 0;font-weight:700}.paper-abstract{color:var(--text-color);line-height:1.5;margin:15px 0;font-size:14px;text-align:justify}.paper-tags{margin-top:15px}.research-tag{background-color:var(--primary-color);color:var(--paper-bg);padding:4px 10px;font-size:11px;margin-right:8px;border:1px solid var(--secondary-color)}@media(max-width:768px){.section-tabs{flex-direction:column;align-items:center;gap:15px}.tab-button{width:200px}.posts-grid{grid-template-columns:1fr;gap:20px}.post-frame,.paper-frame{padding:20px}.paper-header{flex-direction:column;align-items:flex-start;gap:10px}.status-badge{align-self:flex-start}}.status- badge.accepted{background-color:#4caf50;color:#fff}.paper-frame{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.paper-frame:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--accent-color)}.paper-footer{margin-top:20px;text-align:center}.view-paper-btn{background:none;border:2px solid var(--primary-color);color:var(--primary-color);padding:8px 16px;font-family:Courier New,monospace;font-size:14px;cursor:pointer;transition:all .3s ease}.view-paper-btn:hover{background-color:var(--primary-color);color:var(--paper-bg)}/ * Blog post styling */ .post-frame{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.post-frame:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--accent-color)}.post-footer{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.read-more-btn{background:none;border:1px solid var(--primary-color);color:var(--primary-color);padding:4px 8px;font-family:Courier New,monospace;font-size:12px;cursor:pointer;transition:all .3s ease}.read-more-btn:hover{background-color:var(--primary-color);color:var(--paper-bg)}@media(max-width:768px){.post-footer{flex-direction:column;align-items:flex-start;gap:8px}.read-more-btn{align-self:flex-end}}.contact{padding:40px 20px;max-width:600px;margin:0 auto}.contact-container{text-align:center}.contact-form-frame{border:3px solid var(--primary-color);padding:40px;background-color:#fff;margin-top:30px;box-shadow:8px 8px 0 var(--accent-color);transform:rotate(-1.5deg);transform-origin:center center;position:relative;background-image:repeating-linear-gradient(transparent,transparent 24px,#e8e8e8 24px,#e8e8e8 25px);background-size:100% 25px}.contact .paper-clip{position:absolute;top:-20px;right:40px;width:35px;height:auto;z-index:10;transform:rotate(15deg)}.contact-form{max-width:400px;margin:0 auto}.form-group{margin-bottom:25px;text-align:left}.handwritten-label{display:block;font-family:Courier New,monospace;color:var(--primary-color);font-size:16px;margin-bottom:8px;letter-spacing:1px}.form-input,.form-textarea{width:100%;padding:12px;border:2px solid var(--primary-color);background-color:var(--paper-bg);font-family:Courier New,monospace;font-size:14px;color:var(--text-color);transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--secondary-color);background-color:#fff;box-shadow:0 0 10px #2e5bba1a}.form-textarea{resize:vertical;min-height:100px}.submit-button{background-color:var(--primary-color);border:none;color:var(--paper-bg);padding:14px 28px;font-family:Courier New,monospace;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:25px;letter-spacing:1px;position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%)}.submit-button:hover{background-color:var(--secondary-color);transform:translate(5px);box-shadow:-5px 5px 15px #2e5bba4d}.submit-button:active{transform:translate(2px);box-shadow:-2px 2px 8px #2e5bba33}@media(max-width:768px){.contact-form-frame{padding:25px;transform:rotate(-1deg)}.contact .paper-clip{width:30px;top:-15px;right:30px;transform:rotate(12deg)}.contact-form{max-width:100%}.submit-button{padding:12px 25px;font-size:14px}}@me dia (max-width: 480px){.contact-form-frame {transform: rotate(-.5deg); padding: 20px;} .contact .paper-clip {width: 25px; top: -12px; right: 25px; transform: rotate(10deg);}}.contact-info{margin-top:30px;padding-top:20px;border-top:1px solid var(--accent-color)}.contact-item{display:flex;align-items:center;gap:10px;margin-bottom:15px}.contact-icon{font-size:1.2rem;width:25px;text-align:center}.contact-link{font-family:Courier New,monospace;color:var(--primary-color);text-decoration:none;font-size:14px;transition:color .3s ease}.contact-link:hover{color:var(--secondary-color);text-decoration:underline}.contact-socials{display:flex;gap:15px;margin-top:20px;justify-content:center}.social-icon{font-family:Courier New,monospace;color:var(--primary-color);text-decoration:none;font-size:14px;font-weight:700;padding:6px 12px;border:1px solid var(--primary-color);transition:all .3s ease;background:none}.social-icon:hover{background-color:var(--primary-color);color:var(--paper-bg);transform:translateY(-2px)}@media(max-width:480px){.contact-item{flex-direction:column;align-items:flex-start;gap:5px}.contact-link{font-size:13px}.contact-socials{flex-direction:column;gap:10px}.social-icon{text-align:center;font-size:13px;padding:5px 10px}}.experience{padding:20px;min-height:80vh;display:flex;flex-direction:column;align-items:center}.experience-header{text-align:center;margin-bottom:40px}.experience-container{width:100%;max-width:800px;display:flex;justify-content:center}.experience-page{background:#fff;width:100%;max-width:700px;min-height:600px;padding:40px;transform:rotate(2deg);transform-origin:center center;position:relative;border:2px solid var(--primary-color);box-shadow:8px 8px 0 var(--accent-color);background-image:repeating-linear-gradient(transparent,transparent 24px,#e8e8e8 24px,#e8e8e8 25px);background-size:100% 25px}.paper-clip{position:absolute;top:-20px;left:40px;width:35px;height:auto;z-index:10;transform:rotate(-10deg)}.page-header{margin-bottom:30px;border-bottom:2px solid var(--primary-color);padding-bottom:10px}.page-header h2{font-family:Courier New,monospace;color:var(--primary-color);font-size:1.8rem;margin:0;font-weight:700}.page-lines{height:2px;background:var(--accent-color);margin-top:5px}.experience-list{margin-top:20px}.experience-item{margin-bottom:25px;position:relative}.experience-content{padding-left:20px}.company-info{margin-bottom:8px}.company-name{font-family:Courier New,monospace;color:var(--primary-color);font-size:1.3rem;margin:0;font-weight:700;line-height:1.3}.role-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:10px}.position{font-family:Courier New,monospace;color:var(--text-color);font-size:1.1rem;margin:0;font-weight:700;text-decoration:underline;text-decoration-color:var(--secondary-color)}.duration{font-family:Courier New,monospace;color:var(--text-color);font-size:.9rem;background:var(--accent-color);padding:2px 8px;border:1px solid var(--primary-color);font-weight:700}.description{font-family:Courier New,monospace;color:var(--text-color);font-size:.95rem;line-height:1.6;margin:10px 0}.technologies{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tech-tag{font-family:Courier New,monospace;background:var(--paper-bg);color:var(--primary-color);padding:4px 8px;font-size:.8rem;border:1px solid var(--primary-color);font-weight:700}.experience-divider{height:1px;background:var(--accent-color);margin:20px 0;opacity:.5}.page-footer{position:absolute;bottom:20px;right:40px;display:flex;align-items:center;gap:15px}.page-number{font-family:Courier New,monospace;color:var(--text-color);font-size:.9rem;opacity:.7}.page-navigation{display:flex;gap:8px}.nav-button{background:none;border:1px solid var(--primary-color);color:var(--primary-color);width:30px;height:30px;font-size:16px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace}.nav-button:hover{background-color:var(--primary-color);color:var(--paper-bg)}@media(max-width:768px){.experience-page{transform:rotate(1deg);padding:30px 25px;margin:0 10px;min-height:500px}.paper-clip{width:30px;top:-15px;left:30px}.experience-content{padding-left:15px}.role-info{flex-direction:column;align-items:flex-start;gap:5px}.company-name{font-size:1.2rem}.position{font-size:1rem}.description{font-size:.9rem}.page-footer{bottom:15px;right:25px}}@media(max-width:480px){.experience-page{transform:rotate(.5deg);padding:20px 15px;margin:0 5px;min-height:450px}.paper-clip{width:25px;top:-12px;left:25px}.page-header h2{font-size:1.5rem}.company-name{font-size:1.1rem}.technologies{gap:6px}.tech-tag{font-size:.75rem;padding:3px 6px}.page-footer{bottom:10px;right:15px;flex-direction:column;align-items:flex-end;gap:8px}.nav-button{width:25px;height:25px;font-size:14px}}
