@charset "UTF-8";:root{--color-bg: #e0f2fe;--color-surface: #bae6fd;--color-primary: #3b82f6;--color-secondary: #38bdf8;--color-accent: #7dd3fc;--color-text: #0f172a;--color-muted: #64748b}[data-theme=dark]{--color-bg: #0f172a;--color-surface: #1e293b;--color-primary: #3b82f6;--color-secondary: #38bdf8;--color-accent: #7dd3fc;--color-text: #e0f2fe;--color-muted: #bae6fd}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}a:hover,a:focus{text-decoration:underline}img{max-width:100%;display:block}.app-container{display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding:2rem 1rem;margin:0 auto}.blog-list h2{margin-bottom:1rem}.blog-list ul{list-style:none;padding:0}.blog-list ul li{margin-bottom:.5rem}.blog-list ul li a{color:var(--color-primary);text-decoration:none}.blog-list ul li a:hover{text-decoration:underline}.contact-card{display:flex;align-items:center;gap:.75rem;text-decoration:none;padding:.75rem 1rem;border:1px solid var(--color-muted);border-radius:8px;background-color:var(--color-surface);transition:box-shadow .2s ease,transform .2s ease;color:var(--color-text);font-weight:500}.contact-card img{width:28px;height:28px}.contact-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-2px);color:var(--color-primary)}.project-card{display:flex;flex-direction:column;background-color:var(--color-surface, #fff);border-radius:1.25rem;box-shadow:0 12px 32px #0000000d;overflow:hidden;padding:2rem;margin-bottom:2rem;transition:transform .2s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #00000014}.project-card h3{font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.project-card .project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.project-card .project-header h3{margin:0}.project-card .project-content{flex:1;margin-top:1.5rem}@media (min-width: 768px){.project-card .project-content{display:flex;gap:2rem;margin-top:0;flex-direction:row;align-items:center}}@media (min-width: 768px){.project-card .project-content.reverse{flex-direction:row-reverse}}.project-card .project-content .project-description,.project-card .project-content .project-images{flex:1;min-width:280px}.project-card .project-content p{color:var(--color-text-secondary, #555);margin-bottom:1rem;line-height:1.6}.project-card .project-content .project-links{display:flex;flex-wrap:wrap;gap:.5rem}.project-card .project-content .project-links .project-link button{display:inline-block;padding:.6rem 1.25rem;border-radius:12px;background:linear-gradient(90deg,var(--color-primary) 60%,var(--color-secondary) 100%);color:#fff;font-weight:700;font-size:1rem;box-shadow:0 4px 16px #00000014;transition:background .3s,transform .2s,box-shadow .2s;width:fit-content;border:1px solid var(--color-muted);cursor:pointer}.project-card .project-content .project-links .project-link button:hover{background:linear-gradient(90deg,var(--color-secondary) 60%,var(--color-primary) 100%);transform:translateY(-2px) scale(1.04);box-shadow:0 8px 24px #0000001f}.project-images{display:flex;flex-direction:column;gap:1rem}.phone-carousel{display:flex;flex-direction:column;align-items:center;gap:.75rem}.phone-mockup{width:240px;height:480px;background-color:#000;border-radius:36px;padding:16px;position:relative;box-shadow:0 8px 20px #00000040;overflow:hidden;display:flex;justify-content:center;align-items:center}.phone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:30px;background-color:#111;border-bottom-left-radius:20px;border-bottom-right-radius:20px;z-index:2}.phone-screen{width:100%;height:100%;border-radius:24px;overflow:hidden;background-color:#fff}.phone-image{width:100%;height:100%;object-fit:cover}.web-carousel{display:flex;flex-direction:column;align-items:center;gap:.75rem}.browser-mockup{width:100%;width:720px;height:480px;border:1px solid #ccc;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #00000026;background:#fff}.browser-toolbar{height:36px;background:#f2f2f2;display:flex;align-items:center;padding:0 12px;position:relative;gap:8px;border-bottom:1px solid #ddd}.circle{width:12px;height:12px;border-radius:50%;display:inline-block}.red{background:#ff5f57}.yellow{background:#ffbd2e}.green{background:#28c840}.browser-url{position:absolute;left:50%;transform:translate(-50%);font-size:.85rem;color:#888;white-space:nowrap}.browser-screen{width:100%;height:400px;background:#000;overflow:hidden;display:flex;justify-content:center;align-items:center}.browser-image{width:100%;height:100%;object-fit:cover}.carousel-controls{display:flex;align-items:center;gap:1rem}.carousel-controls .carousel-btn{font-size:1.5rem;border:none;background:none;cursor:pointer;color:var(--color-text, #333);transition:transform .2s}.carousel-controls .carousel-btn:hover{transform:scale(1.2)}.carousel-controls .carousel-indicator{font-size:.85rem;color:var(--color-muted, #666)}.testimonial-card{background:linear-gradient(135deg,var(--color-background) 60%,var(--color-primary) 100%);border:none;border-radius:1.5rem;padding:2rem;margin:1.5rem 0;box-shadow:0 8px 24px #0000001f,0 1.5px 3px #00000014;position:relative;overflow:hidden}.testimonial-card:before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);opacity:.15;z-index:0}.testimonial-card .quote{font-style:italic;font-size:1.25rem;color:var(--color-text);position:relative;z-index:1;padding-left:2.5rem}.testimonial-card .quote:before{content:"“";font-size:3rem;color:var(--color-accent);position:absolute;left:0;top:-.5rem;opacity:.7}.testimonial-card .author{margin-top:1.5rem;font-weight:700;color:var(--color-primary);font-size:1rem;letter-spacing:.05em;position:relative;z-index:1}.testimonial-card .author:before{content:"— ";color:var(--color-accent);font-weight:400}.certification-badge{background:var(--color-surface);border:1px solid var(--color-muted);border-radius:.5rem;padding:1rem;text-align:center;max-width:300px}.certification-badge a{text-decoration:none;color:inherit;font-weight:700}.experience-timeline h2{margin-bottom:1rem}.experience-timeline .experience-timeline-content ul{list-style:none;padding:0}.experience-timeline .experience-timeline-content ul .exp-li{margin-bottom:1rem;border-left:2px solid var(--color-primary);padding-left:1rem}.landing-hero{background:linear-gradient(135deg,var(--color-accent),var(--color-secondary));color:var(--color-text);padding:4rem 2rem;text-align:center;border-radius:1rem}.landing-hero h1{font-size:2.5rem;margin-bottom:1rem}.landing-hero p{font-size:1.2rem}.tech-stack{background:var(--color-background);border-radius:1rem;display:flex;flex-wrap:wrap;column-count:2}.tech-stack h2{margin-bottom:1rem}.tech-stack img{max-width:100%}.tech-stack .tech-stack-content{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.skill-icons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.skill-icon{display:flex;align-items:center;justify-content:center;border-radius:.75rem;width:52px;height:52px;cursor:pointer;transition:box-shadow .2s,filter .2s;background:var(--icon-bg, transparent)}.skill-icon:hover{filter:brightness(.9);box-shadow:0 2px 8px #00000014}.skill-text-icon{width:48px;height:48px;background-color:var(--icon-bg-color, #333);color:var(--icon-text-color, #eee);border-radius:8px;font-size:.65rem;font-weight:600;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;transition:box-shadow .2s,filter .2s;box-shadow:0 1px 4px #00000012;padding:4px;line-height:1.1;white-space:normal;word-break:break-word}.skill-text-icon:hover{filter:brightness(.9);box-shadow:0 2px 8px #0000001f}.skill{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:52px}.skill .skill-name{font-size:.6rem;font-weight:600;color:var(--color-text);text-align:center;margin-top:.4rem;width:52px;overflow-wrap:break-word;white-space:normal;line-height:1.15;padding:0 2px;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.theme-toggle{position:absolute;top:1rem;right:1rem}.theme-toggle button{background:none;border:none;font-size:1.5rem;cursor:pointer}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;width:-webkit-fill-available}.landing .hero{display:flex;flex-direction:column;align-items:center;justify-content:center;width:inherit}.landing .tech-stack{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:inherit}.landing .timeline{width:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.landing .featured-projects{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:inherit}.landing .testimonials{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;width:inherit}.landing .certifications{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:inherit}.landing .blog,.landing .contact{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;width:inherit}
