*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: #ffffff;--text-color: #333333;--link-color: #0066cc;--link-hover: #004499;--button-bg: #0066cc;--button-hover: #004499;--button-text: #ffffff;--button-text-hover: #ffffff;--border-color: #e0e0e0;--code-bg: #f5f5f5}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);max-width:800px;margin:0 auto;padding:0 20px}header{padding:20px 0;border-bottom:1px solid var(--border-color);margin-bottom:40px}nav{display:flex;justify-content:space-between;align-items:center}.logo{font-size:24px;font-weight:600;text-decoration:none;color:var(--text-color)}.logo:hover{color:var(--link-color);text-decoration:none}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{font-size:14px;text-decoration:none}.nav-links a:hover{text-decoration:underline}.hero{text-align:center;padding:60px 0;margin-bottom:60px}.hero h1{font-size:36px;font-weight:600;margin-bottom:10px;color:var(--text-color)}.subtitle{font-size:18px;color:#666}.intro{margin-bottom:60px}.intro h2{font-size:28px;font-weight:600;margin-bottom:20px;color:var(--text-color)}.intro p{font-size:16px;margin-bottom:16px;line-height:1.8}a{color:var(--link-color);text-decoration:underline;text-decoration-color:var(--link-color);text-underline-offset:2px;transition:color .2s ease,text-decoration-color .2s ease}a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}.projects{margin-bottom:60px}.projects h2{font-size:28px;font-weight:600;margin-bottom:30px;text-align:center;color:var(--text-color)}.projects-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:30px}@media(min-width:600px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{border:1px solid var(--border-color);border-radius:4px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-card h3{font-size:20px;font-weight:600;margin-bottom:10px;color:var(--text-color)}.project-card p{font-size:14px;color:#555;margin-bottom:12px;line-height:1.6}.project-meta{display:flex;justify-content:space-between;font-size:12px;color:#555;margin-top:12px}.project-card a{display:block;margin-top:12px;font-size:14px;font-weight:500;text-decoration:underline;text-decoration-color:var(--link-color);text-underline-offset:2px}.project-card a:hover{text-decoration-color:var(--link-hover)}.projects-footer{text-align:center;margin-top:30px}.button{display:inline-block;padding:12px 24px;background-color:var(--button-bg);color:var(--button-text);border-radius:4px;font-weight:500;text-decoration:none;transition:background-color .2s ease,color .2s ease}.button:hover{background-color:var(--button-hover);color:var(--button-text-hover);text-decoration:none}.tech-stack,.tools{margin-bottom:60px}.tech-stack h2,.tools h2{font-size:28px;font-weight:600;margin-bottom:30px;text-align:center;color:var(--text-color)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;justify-items:center}.tech-grid a{display:inline-block;padding:12px 20px;border:1px solid var(--border-color);border-radius:4px;text-align:center;transition:all .2s ease;font-size:14px;min-width:120px;text-decoration:none}.tech-grid a:hover{background-color:var(--code-bg);border-color:var(--link-color);transform:translateY(-2px);text-decoration:none}footer{border-top:1px solid var(--border-color);padding:40px 0;margin-top:60px;text-align:center}footer p{margin-bottom:10px;font-size:14px;color:#666}.footer-links{display:flex;justify-content:center;gap:20px;margin-top:20px}.footer-links a{font-size:14px}#projects-container p{text-align:center;color:#666;padding:40px 0}@media(max-width:600px){.hero h1{font-size:28px}.subtitle{font-size:16px}.intro h2,.projects h2,.tech-stack h2,.tools h2{font-size:24px}.tech-grid{grid-template-columns:repeat(2,1fr)}}
