@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Inter:wght@400;600;800&family=Syne:wght@800&display=swap");:root{--home-bg: #F8FAFC;--hd-ft-bg: linear-gradient(135deg, #FFFFFF, #F1F5F9);--post-bg: linear-gradient(135deg, #F1F5F9, #FFFFFF);--color-footer: #E5E7EB;--title: #1E293B;--text: #475569;--text-post: #334155;--header-title: #2563EB;--text-content: #334155;--text-light: #64748B;--accent: #2563EB;--accent-hover: #1D4ED8;--border-color: #E2E8F0;--hover-bg: rgba(37, 99, 235, 0.05);--bg-secondary: #FFFFFF;--bg-tertiary: #F1F5F9}@media (prefers-color-scheme: dark){:root{--home-bg: #0B0E11;--hd-ft-bg: linear-gradient(135deg, #0B0E11, #1A1F26);--post-bg: linear-gradient(135deg, #1A1F26, #0B0E11);--color-footer: #111418;--title: #F8FAFC;--text: #CBD5E1;--text-post: #E2E8F0;--header-title: #E4E4E7;--text-content: #E2E8F0;--text-light: #94A3B8;--accent: #F4F4F5;--accent-hover: #E4E4E7;--border-color: #334155;--hover-bg: rgba(255, 255, 255, 0.05);--bg-secondary: #1A1F26;--bg-tertiary: #252D3A}}@font-face{font-family:'Lostar';src:url("../fonts/Lostar.ttf") format("truetype");font-weight:bold;font-style:normal;font-display:swap}:root{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--text-primary: #1f2937;--text-secondary: #4b5563;--accent: #3498db;--accent-hover: #2980b9;--border-color: #e5e7eb}@media (prefers-color-scheme: dark){:root{--bg-primary: #111827;--bg-secondary: #1f2937;--text-primary: #f9fafb;--text-secondary: #9ca3af;--accent: #60a5fa;--accent-hover: #3b82f6;--border-color: #374151}}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:"Inter",sans-serif;margin:0;padding:0;line-height:1.6;overflow-x:hidden}main#main-content{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{color:var(--text-primary);font-weight:700;line-height:1.2}a{color:var(--accent);text-decoration:none;transition:0.2s ease}a:hover{color:var(--accent-hover)}.portfolio-wrapper{background-color:var(--bg-primary)}.portfolio-wrapper .hero__heading{font-family:"Lostar",sans-serif}.portfolio-wrapper .project-card__link,.portfolio-wrapper .hero__contact-links,.portfolio-wrapper .tech-tag{font-family:"Space Mono",monospace}.site-header-minimal{background:var(--bg-secondary);padding:15px 0;border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px rgba(0,0,0,0.08);position:sticky;top:0;z-index:100}@media (max-width: 768px){.site-header-minimal{padding:12px 0}}.header-container-minimal{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}@media (max-width: 768px){.header-container-minimal{padding:0 16px;gap:12px}}.site-logo-link{display:flex;align-items:center;text-decoration:none;transition:transform 0.2s ease}.site-logo-link:hover{transform:scale(1.02)}.site-logo{height:55px;width:auto;object-fit:contain}@media (max-width: 768px){.site-logo{height:42px}}.site-nav-minimal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:28px}@media (max-width: 768px){.site-nav-minimal ul{gap:18px;justify-content:flex-end}}@media (max-width: 480px){.site-nav-minimal ul{gap:14px;justify-content:center}}.site-nav-minimal li a{color:var(--text-primary);text-decoration:none;font-size:0.95rem;font-weight:500;transition:all 0.2s ease;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px}.site-nav-minimal li a:hover{color:var(--accent);background:var(--bg-tertiary)}.site-nav-minimal li a .fab{font-size:1.1em}@media (max-width: 480px){.site-nav-minimal li a{font-size:0.9rem;padding:5px 8px}}.rodape{background:var(--hd-ft-bg);color:var(--text);width:100rm;font-size:14px;font-family:helvetica;font-weight:bold;padding:20px}.rodape p{margin-bottom:5px}.rodape-direitos{width:100%;margin:0;text-align:center}.home-container{max-width:800px;margin:0 auto;padding:30px 20px}@media (max-width: 768px){.home-container{max-width:95%;padding:20px 15px}}@media (max-width: 480px){.home-container{max-width:100%;padding:15px 10px;border-radius:0;box-shadow:none}}.posts-section-title{font-size:1.8rem;margin-bottom:25px;font-weight:700;color:var(--heading-color);text-align:center}@media (max-width: 768px){.posts-section-title{font-size:1.4rem;margin-bottom:18px}}.post-item{display:flex;flex-wrap:wrap;align-items:baseline;padding-top:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.post-item:last-child{border-bottom:none}.post-item .post-item-date{min-width:120px;color:var(--accent);font-weight:700;padding-right:20px;text-align:right;flex-shrink:0;white-space:nowrap}@media (max-width: 768px){.post-item .post-item-date{min-width:90px;padding-right:10px;text-align:left;width:auto;margin-bottom:5px}}@media (max-width: 480px){.post-item .post-item-date{width:100%}}.post-item .post-item-title{margin:0;padding:0;font-size:1.3rem;font-weight:normal;letter-spacing:0.2px;flex-grow:1}.post-item .post-item-title a{color:var(--text-post);text-decoration:none;transition:color 0.3s ease, text-decoration 0.3s ease}.post-item .post-item-title a:hover,.post-item .post-item-title a:focus{color:var(--accent);text-decoration:underline}@media (max-width: 768px){.post-item .post-item-title{font-size:1.15rem;flex-basis:100%}}.post-container{color:var(--text-post);padding:20px;border-radius:8px;margin:20px auto;max-width:800px;box-sizing:border-box}.post-container a{color:var(--accent);text-decoration:none;transition:color 0.3s ease}.post-container a:hover{text-decoration:underline;color:var(--accent-hover)}@media (max-width: 768px){.post-container{max-width:95%;padding:20px 15px;margin:15px auto}}@media (max-width: 480px){.post-container{max-width:100%;padding:15px 10px;margin:10px auto}}.post-header{margin-bottom:30px;text-align:center}.post-header .post-title{font-size:3.8rem;margin-bottom:10px;line-height:1.2;color:var(--heading-color)}@media (max-width: 768px){.post-header .post-title{font-size:2.8rem}}@media (max-width: 480px){.post-header .post-title{font-size:2.2rem;line-height:1.3}}.post-header .post-description{font-size:1.3rem;margin-bottom:15px;color:var(--text);font-style:italic}@media (max-width: 768px){.post-header .post-description{font-size:1.1rem}}@media (max-width: 480px){.post-header .post-description{font-size:1rem;margin-bottom:10px}}.post-header .post-meta{font-size:0.9rem;font-weight:500;color:var(--text-light);display:flex;justify-content:center;flex-wrap:wrap;gap:15px}.post-header .post-meta span{display:inline-block}@media (max-width: 480px){.post-header .post-meta{font-size:0.8rem;gap:10px}}.post-image{margin:30px 0;text-align:center}.post-image img{max-width:100%;border-radius:8px;height:auto;object-fit:contain;box-shadow:var(--shadow-elevation-low)}.post-image figcaption{font-size:0.9rem;color:var(--text-light);text-align:center;margin-top:10px;font-style:italic}@media (max-width: 480px){.post-image figcaption{font-size:0.8rem}}@media (max-width: 768px){.post-image{margin:20px 0}}@media (max-width: 480px){.post-image{margin:15px 0}}img.light{display:block;margin:20px auto;max-width:100%;height:auto;object-fit:contain}@media (max-width: 480px){img.light{margin:15px auto}}.post-content{font-size:1.15rem;line-height:1.7;color:var(--text-content)}@media (max-width: 768px){.post-content{font-size:1rem;line-height:1.6}}@media (max-width: 480px){.post-content{font-size:0.95rem;line-height:1.5}}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--heading-color);margin-top:1.5em;margin-bottom:0.8em;line-height:1.3}@media (max-width: 768px){.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:1.2em;margin-bottom:0.6em}}.post-content h2{font-size:2.2rem;border-bottom:1px solid var(--border-color);padding-bottom:5px}@media (max-width: 768px){.post-content h2{font-size:1.8rem}}@media (max-width: 480px){.post-content h2{font-size:1.5rem}}.post-content h3{font-size:1.8rem;margin-left:10px}@media (max-width: 768px){.post-content h3{font-size:1.5rem;margin-left:5px}}@media (max-width: 480px){.post-content h3{font-size:1.2rem;margin-left:0}}.post-content pre{background-color:var(--code-background);color:var(--code-text);padding:1.2em 1.5em;border-radius:8px;overflow-x:auto;margin:1.8em 0;font-family:'Fira Code', 'Cascadia Code', monospace;font-size:0.98rem;line-height:1.6;tab-size:2;hyphens:none;word-break:normal;white-space:pre-wrap;box-shadow:0 5px 15px rgba(0,0,0,0.4);position:relative}.post-content pre .copy-button{position:absolute;top:15px;right:15px;background:var(--tag-background);color:var(--tag-text);border:1px solid var(--border-color);padding:6px 12px;border-radius:5px;cursor:pointer;font-size:0.85rem;font-weight:600;opacity:0.8;transition:background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease}.post-content pre .copy-button:hover{background-color:var(--tag-hover-background);color:var(--tag-hover-text);opacity:1}@media (max-width: 480px){.post-content pre .copy-button{top:8px;right:8px;padding:4px 8px;font-size:0.75rem}}@media (max-width: 768px){.post-content pre{padding:1em 1.2em;margin:1.5em 0;font-size:0.9rem}}@media (max-width: 480px){.post-content pre{padding:0.8em 1em;margin:1em 0;font-size:0.85rem}}.post-content ul,.post-content ol{margin-bottom:1em;padding-left:1.5em}@media (max-width: 480px){.post-content ul,.post-content ol{padding-left:1em}}.post-content li{margin-bottom:0.5em}.post-content p{margin-bottom:1em}.post-footer{margin-top:40px;font-size:0.9rem;padding-top:20px;border-top:1px solid var(--border-color);text-align:center}.post-footer .post-categories,.post-footer .post-tags{margin-bottom:15px;font-weight:600}.post-footer .post-categories a,.post-footer .post-tags a{display:inline-block;background-color:var(--tag-background);color:var(--tag-text);padding:5px 10px;border-radius:5px;margin:5px;text-decoration:none;transition:background-color 0.3s ease, color 0.3s ease}.post-footer .post-categories a:hover,.post-footer .post-tags a:hover{background-color:var(--tag-hover-background);color:var(--tag-hover-text);text-decoration:none}@media (max-width: 480px){.post-footer .post-categories a,.post-footer .post-tags a{font-size:0.8rem;padding:4px 8px;margin:3px}}@media (max-width: 768px){.post-footer{margin-top:30px;padding-top:15px}}@media (max-width: 480px){.post-footer{margin-top:20px;padding-top:10px}}.post-comments{margin:40px 0;padding-top:30px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.post-comments{margin:30px 0;padding-top:20px}}@media (max-width: 480px){.post-comments{margin:20px 0;padding-top:15px}}.toc{display:none}@media (min-width: 1024px){.toc{display:block;position:sticky;top:100px;width:240px;max-height:calc(100vh - 140px);overflow-y:auto;padding:0 0 0 20px;margin-left:40px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.toc::-webkit-scrollbar{width:4px}.toc::-webkit-scrollbar-track{background:transparent}.toc::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:2px}}.toc-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:0;max-width:1200px;margin:0 auto;padding:0 20px}@media (max-width: 1023px){.toc-wrapper{padding:0}}.toc-list{list-style:none;margin:0;padding:0;border-left:1px solid var(--border-color)}.toc-item{margin:0;position:relative}.toc-item::before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:2px;background-color:transparent;transition:background-color 0.2s ease}.toc-item--active::before{background-color:var(--accent)}.toc-item--active .toc-link{color:var(--accent);font-weight:500}.toc-item--indented .toc-link{padding-left:24px;font-size:0.85rem}.toc-item--deep .toc-link{padding-left:40px;font-size:0.8rem}.toc-link{display:block;padding:6px 12px;color:var(--text-light);text-decoration:none;font-size:0.9rem;line-height:1.5;transition:color 0.2s ease, background-color 0.2s ease;border-radius:0 4px 4px 0}.toc-link:hover{color:var(--accent);background-color:var(--hover-bg, rgba(37,99,235,0.05))}.toc-link:focus{outline:2px solid var(--accent);outline-offset:-2px}@media (min-width: 1024px){.post-container--with-toc{max-width:700px;margin:0;flex-shrink:0}}.portfolio-page{background-color:var(--bg-primary);min-height:100vh}.portfolio-page .portfolio-hero{padding:8rem 0 5rem;background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);border-bottom:1px solid var(--border-color)}.portfolio-page .portfolio-hero .container{max-width:1200px;margin:0 auto;padding:0 24px}.portfolio-page .portfolio-hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}@media (max-width: 768px){.portfolio-page .portfolio-hero-content{grid-template-columns:1fr;gap:2rem;text-align:center}}.portfolio-page .portfolio-hero-text .portfolio-emoji{font-size:3rem;margin-bottom:1rem;display:inline-block;animation:float 3s ease-in-out infinite}.portfolio-page .portfolio-hero-text .portfolio-title{font-family:var(--font-display);font-size:clamp(2.5rem, 5vw, 4rem);font-weight:800;color:var(--text-primary);line-height:1.1;margin-bottom:1.5rem}.portfolio-page .portfolio-hero-text .portfolio-subtitle{font-size:1.25rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.portfolio-page .portfolio-hero-text .portfolio-description{font-size:1rem;color:var(--text-tertiary);line-height:1.7;margin-bottom:2rem}.portfolio-page .portfolio-hero-actions{display:flex;gap:1rem;flex-wrap:wrap}@media (max-width: 768px){.portfolio-page .portfolio-hero-actions{justify-content:center}}.portfolio-page .portfolio-hero-actions .btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 1.75rem;font-family:var(--font-display);font-weight:600;font-size:0.9375rem;border-radius:8px;text-decoration:none;transition:all 0.2s ease-out}.portfolio-page .portfolio-hero-actions .btn svg{width:18px;height:18px;transition:transform 0.2s ease}.portfolio-page .portfolio-hero-actions .btn:hover svg{transform:translateX(3px)}.portfolio-page .portfolio-hero-actions .btn-primary{background-color:var(--accent);color:white}.portfolio-page .portfolio-hero-actions .btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.portfolio-page .portfolio-hero-actions .btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.portfolio-page .portfolio-hero-actions .btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.portfolio-page .portfolio-hero-visual{position:relative}.portfolio-page .portfolio-hero-visual .code-window{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg)}.portfolio-page .portfolio-hero-visual .code-window .code-header{display:flex;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.portfolio-page .portfolio-hero-visual .code-window .code-header .dot{width:12px;height:12px;border-radius:50%}.portfolio-page .portfolio-hero-visual .code-window .code-header .dot:nth-child(1){background:#ff5f56}.portfolio-page .portfolio-hero-visual .code-window .code-header .dot:nth-child(2){background:#ffbd2e}.portfolio-page .portfolio-hero-visual .code-window .code-header .dot:nth-child(3){background:#27c93f}.portfolio-page .portfolio-hero-visual .code-window .code-content{padding:1.5rem;font-family:var(--font-mono);font-size:0.875rem;line-height:1.6;color:var(--text-secondary)}.portfolio-page .portfolio-hero-visual .code-window .code-content .code-line{display:flex;gap:1rem}.portfolio-page .portfolio-hero-visual .code-window .code-content .code-line .line-num{color:var(--text-tertiary);user-select:none;min-width:1.5rem}.portfolio-page .portfolio-hero-visual .code-window .code-content .code-line .line-code .keyword{color:#ff79c6}.portfolio-page .portfolio-hero-visual .code-window .code-content .code-line .line-code .string{color:#f1fa8c}.portfolio-page .portfolio-hero-visual .code-window .code-content .code-line .line-code .function{color:#50fa7b}.portfolio-page .portfolio-hero-visual .code-window .code-content .code-line .line-code .comment{color:#6272a4}.portfolio-page .tech-stack-section{padding:4rem 0;background-color:var(--bg-secondary)}.portfolio-page .tech-stack-section .container{max-width:1200px;margin:0 auto;padding:0 24px}.portfolio-page .tech-stack-title{font-family:var(--font-display);font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-tertiary);text-align:center;margin-bottom:2rem}.portfolio-page .tech-stack-grid{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}.portfolio-page .tech-stack-grid .tech-item{display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:var(--text-secondary);font-size:0.875rem;font-weight:500}.portfolio-page .tech-stack-grid .tech-item svg{width:40px;height:40px;opacity:0.7;transition:opacity 0.2s, transform 0.2s}.portfolio-page .tech-stack-grid .tech-item:hover svg{opacity:1;transform:scale(1.1)}.portfolio-page .projects-section{padding:5rem 0}.portfolio-page .projects-section .container{max-width:1200px;margin:0 auto;padding:0 24px}.portfolio-page .section-header{text-align:center;margin-bottom:3rem}.portfolio-page .section-header .section-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:0.75rem}.portfolio-page .section-header .section-subtitle{color:var(--text-secondary);font-size:1.125rem}.portfolio-page .projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:2rem}@media (max-width: 768px){.portfolio-page .projects-grid{grid-template-columns:1fr}}.portfolio-page .project-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;transition:all 0.3s ease;position:relative;overflow:hidden}.portfolio-page .project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--accent), var(--accent-hover));transform:scaleX(0);transition:transform 0.3s ease}.portfolio-page .project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.portfolio-page .project-card:hover::before{transform:scaleX(1)}.portfolio-page .project-card .project-icon{width:48px;height:48px;background:var(--bg-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.portfolio-page .project-card .project-icon svg{width:24px;height:24px;color:var(--accent)}.portfolio-page .project-card .project-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:0.75rem}.portfolio-page .project-card .project-description{color:var(--text-secondary);font-size:0.9375rem;line-height:1.6;margin-bottom:1.25rem;flex-grow:1}.portfolio-page .project-card .project-tech-stack{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.25rem}.portfolio-page .project-card .tech-tag{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;padding:0.375rem 0.75rem;border-radius:4px;background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.portfolio-page .project-card .project-link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--accent);font-weight:500;font-size:0.875rem;text-decoration:none;transition:gap 0.2s ease}.portfolio-page .project-card .project-link:hover{gap:0.75rem}.portfolio-page .project-card .project-link svg{width:16px;height:16px}.portfolio-page .contact-section{padding:5rem 0;background-color:var(--bg-secondary);border-top:1px solid var(--border-color)}.portfolio-page .contact-section .container{max-width:800px;margin:0 auto;padding:0 24px;text-align:center}.portfolio-page .contact-section .contact-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.portfolio-page .contact-section .contact-description{color:var(--text-secondary);font-size:1.125rem;margin-bottom:2rem}.portfolio-page .contact-section .contact-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.portfolio-page .contact-section .contact-links .contact-link{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;text-decoration:none;transition:all 0.2s ease}.portfolio-page .contact-section .contact-links .contact-link svg{width:18px;height:18px;color:var(--accent)}.portfolio-page .contact-section .contact-links .contact-link:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}@keyframes float{0%, 100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
