:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.portfolio-header{width:100%;padding:3rem 2rem;position:relative;color:#fff;animation:fadeInDown .6s ease-out;border-bottom:2px solid rgba(255,255,255,.1)}.theme-toggle{position:absolute;top:1.5rem;right:2rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.theme-toggle:hover{background:#f2c84b40;border-color:#f2c84b;transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid #a57900;outline-offset:2px}.theme-toggle-icon{font-size:1rem;line-height:1}@media(max-width:768px){.theme-toggle{top:1rem;right:1rem;padding:.45rem .75rem}.theme-toggle-text{display:none}}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:3rem;justify-content:center}.profile-section{flex-shrink:0}.profile-pic{width:150px;height:150px;border-radius:50%;border:4px solid white;object-fit:cover;box-shadow:0 12px 20px #ffbb00cb;transition:transform .3s ease}:root[data-theme=dark] .profile-pic{box-shadow:0 12px 24px #0009}.profile-pic:hover{transform:scale(1.05)}.header-text{text-align:left}.header-text h1{font-size:2.8rem;margin:0;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.header-text p{font-size:1.1rem;margin:0;opacity:.9}@media(max-width:768px){.header-content{flex-direction:column;text-align:center;gap:1.5rem}.header-text{text-align:center}.header-text h1{font-size:2rem}.header-text p{font-size:1rem}.profile-pic{width:120px;height:120px}}@media(max-width:480px){.portfolio-header{padding:2rem 1rem}.header-content{gap:1rem}.header-text h1{font-size:1.5rem}.profile-pic{width:100px;height:100px}}.home{width:100%;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 10% -10%,#ffd70038,#ffd70000 60%),radial-gradient(900px 500px at 90% 10%,#ffd7001f,#ffd70000 55%),linear-gradient(135deg,#f2c84b,#a57900 35%,#2f2f2f)}:root[data-theme=dark] .home{background:radial-gradient(1200px 600px at 10% -10%,#ffd7001f,#ffd70000 60%),radial-gradient(900px 500px at 90% 10%,#ffd70014,#ffd70000 55%),linear-gradient(135deg,#3b2b00,#1f1a10 35%,#0f0f10)}.home:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.9;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'><circle cx='60' cy='80' r='1.4' fill='white' fill-opacity='0.65'/><circle cx='200' cy='60' r='1.1' fill='white' fill-opacity='0.5'/><circle cx='320' cy='140' r='1.2' fill='white' fill-opacity='0.55'/></svg>");background-repeat:repeat;background-size:420px 420px;animation:starDrift 28s linear infinite,starPulse 6s ease-in-out infinite;transform-origin:center}@keyframes starDrift{0%{background-position:0 0}50%{background-position:20px -30px}to{background-position:0 0}}@keyframes starPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.repositories{max-width:1200px;margin:0 auto;padding:2rem}.repositories h2{color:#fff;text-align:center;font-size:2.5rem;margin-bottom:3rem}.repositories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;animation:fadeInUp .6s ease-out}.repo-card{flex:1;background:#fff;border-radius:12px;padding:1.5rem;text-decoration:none;color:inherit;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;cursor:pointer;border:none;text-align:left;font-family:inherit}:root[data-theme=dark] .repo-card{background:#151515;color:#e6e6e6;box-shadow:0 6px 14px #00000059}.repo-card:hover{transform:translateY(-8px);box-shadow:0 12px 20px #ffbb00cb}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.card-header h3{margin:0;color:#333;font-size:1.3rem;flex:1}:root[data-theme=dark] .card-header h3{color:#f1f1f1}.stars{font-size:.9rem;color:#667eea;font-weight:600;white-space:nowrap;margin-left:.5rem}.description{color:#666;margin:1rem 0;flex-grow:1;font-size:.95rem;line-height:1.5}:root[data-theme=dark] .description{color:#bdbdbd}.card-footer{display:flex;flex-direction:column;gap:.75rem}.topics{display:flex;flex-wrap:wrap;gap:.5rem}.topic{background:#e8eaf6;color:#5a78ff;padding:.3rem .6rem;border-radius:15px;font-size:.8rem}:root[data-theme=dark] .topic{background:#ffffff14;color:#d1d7ff}.show-more{display:block;margin:2rem auto;padding:1rem 2rem;background:#fff;color:#000;border:2px solid #a57900;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #0000001a}:root[data-theme=dark] .show-more{background:#171717;color:#f1f1f1;border-color:#ffd70066;box-shadow:0 8px 20px #00000059}:root[data-theme=dark] .show-more:hover{background:#f2c84b;color:#0f0f0f;border-color:#f2c84b;transform:translateY(-3px);box-shadow:0 8px 20px #00000080}.show-more:hover{background:#f2c84b;color:#000;transform:translateY(-3px);box-shadow:0 8px 20px #a579004d;border:2px solid #f2c84b}.repo-card-wrapper{display:flex;height:100%}.repo-card-wrapper.enter{width:100%;opacity:0;transform:translateY(30px);animation:slideInUp .6s ease-out forwards}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.home{padding:1rem}.home:before{display:none}.portfolio-header h1{font-size:2.5rem}.repositories h2{font-size:2rem;margin-bottom:2rem}.repositories-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.repo-card{padding:1.2rem}}@media(max-width:480px){.portfolio-header h1{font-size:2rem}.repositories-grid{grid-template-columns:1fr}}.repositorio-page,.repositorio-container{min-height:100vh;background:linear-gradient(100deg,#a57900,#000);padding:2rem;box-sizing:border-box;width:100%;overflow-x:hidden}:root[data-theme=dark] .repositorio-container,:root[data-theme=dark] .repositorio-page{background:linear-gradient(135deg,#3b2b00,#1f1a10 35%,#0f0f10)}.back-button{background:#fff3;color:#fff;border:2px solid white;padding:.7rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;margin-bottom:2rem;font-weight:600}:root[data-theme=dark] .back-button{background:#ffffff14;border-color:#ffffff40;color:#f1f1f1}:root[data-theme=dark] .back-button:hover{background:#ffffff26;color:#f7f1e0}.back-button:hover{background:#fff;color:#a57900}.repo-detail{max-width:900px;margin:0 auto;background:#fff;border-radius:12px;padding:3rem;box-shadow:0 10px 40px #0000004d;animation:slideInUp .6s ease-out;width:100%;box-sizing:border-box;overflow-x:hidden;word-wrap:break-word}:root[data-theme=dark] .repo-detail{background:#151515;color:#e6e6e6;box-shadow:0 12px 30px #0000008c}.repo-header{margin-bottom:2rem;border-bottom:2px solid #f0f0f0;padding-bottom:1.5rem;width:100%;box-sizing:border-box;overflow-wrap:break-word}:root[data-theme=dark] .repo-header{border-bottom-color:#ffffff14}.repo-header h1{font-size:2.5rem;color:#333;margin:0 0 1rem}.repo-language{font-size:1rem;color:#666;font-weight:500}:root[data-theme=dark] .repo-language{color:#bbb}:root[data-theme=dark] .repo-header h1{color:#f2f2f2}.repo-meta{display:flex;gap:1rem;flex-wrap:wrap}.language{text-align:center;background:#a57900;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.stars{color:#a57900;font-size:1.1rem;font-weight:600}.repo-description{font-size:1.1rem;color:#555;line-height:1.8;margin:1.5rem 0;width:100%;box-sizing:border-box;word-wrap:break-word}:root[data-theme=dark] .repo-description{color:#c9c9c9}.repo-topics{color:#000;margin:2rem 0;padding-top:2rem;border-top:2px solid #f0f0f0;width:100%;box-sizing:border-box}:root[data-theme=dark] .repo-topics{color:#e6e6e6;border-top-color:#ffffff14}.repo-topics h3{color:#333;margin-bottom:1rem;font-size:1.2rem;word-wrap:break-word}:root[data-theme=dark] .repo-topics h3{color:#f0f0f0}.topics-list{display:flex;flex-wrap:wrap;gap:.8rem;width:100%;box-sizing:border-box}.topic-tag{margin-top:1rem;background:#e8eaf6;color:#5a78ff;padding:.3rem .6rem;border-radius:15px;font-size:.8rem;word-break:break-word;max-width:100%}:root[data-theme=dark] .topic-tag{background:#ffffff14;color:#d1d7ff}.repo-stars{color:#a57900;font-size:1.1rem}.topic-badge{background:#f0f0f0;color:#a57900;padding:.4rem .8rem;border-radius:20px;font-size:.9rem;border:1px solid #a57900}.repo-links{margin-top:2.5rem;padding-top:2rem;border-top:2px solid #f0f0f0;display:flex;gap:1rem}:root[data-theme=dark] .repo-links{border-top-color:#ffffff14}.repo-readme{color:#000;margin-top:3rem;border-top:2px solid #f0f0f0;padding-top:2rem;padding-bottom:2rem;font-size:1rem;line-height:1.6;overflow-wrap:anywhere;word-break:break-word;width:100%;box-sizing:border-box;overflow-x:hidden}.repo-readme img,.repo-readme video,.repo-readme iframe,.repo-readme table{max-width:100%;height:auto}.repo-readme pre{max-width:100%;overflow-x:auto;white-space:pre;padding:1rem;border-radius:8px;background:#f7f7f7;box-sizing:border-box}.repo-readme code{white-space:pre-wrap;word-break:break-word}:root[data-theme=dark] .repo-readme pre{background:#1c1c1c}:root[data-theme=dark] .repo-readme{color:#e6e6e6;border-top-color:#ffffff14}.repo-readme hr{margin:1.5rem 0;border:none;border-top:1px solid #ddd}:root[data-theme=dark] .repo-readme hr{border-top-color:#ffffff26}.repo-readme h1{font-size:2.5rem;padding-bottom:1rem}.repo-readme p{margin-bottom:1rem}.github-link{justify-content:center;display:inline-flex;margin:1rem auto auto;padding:.5rem;background:#fff;color:#000;border:2px solid #0068a5;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #0000001a;text-decoration:none;align-items:center;max-width:100%;box-sizing:border-box}.repo-info{margin-top:2rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;width:100%;box-sizing:border-box}:root[data-theme=dark] .github-link{background:#171717;color:#f1f1f1;border-color:#0068a5b3;box-shadow:0 8px 18px #0006}.github-link svg{margin:auto;font-size:1.4rem}.github-link:hover{background:#0068a5;color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #a579004d;border:2px solid #0068a5}:root[data-theme=dark] .github-link:hover{background:#0068a5;color:#fff;box-shadow:0 10px 22px #0009;border-color:#0068a5}.btn{padding:.8rem 2rem;border-radius:8px;text-decoration:none;font-size:1rem;font-weight:600;transition:all .3s ease;border:none;cursor:pointer;display:inline-block}.btn-primary{background:#a57900;color:#fff}.btn-primary:hover{background:#8a6200;transform:translateY(-2px);box-shadow:0 5px 15px #a579004d}.repo-not-found{max-width:600px;margin:4rem auto;text-align:center;background:#fff;padding:3rem;border-radius:12px;color:#333}.repo-not-found h1{margin-bottom:2rem}.repo-not-found button{background:#a57900;color:#fff;border:none;padding:.8rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.repo-not-found button:hover{background:#8a6200}@media(max-width:768px){.repositorio-container{padding:1rem}.repo-detail{padding:1.5rem;border-radius:8px}.repo-readme h1,.repo-header h1{font-size:1.75rem;word-wrap:break-word}.repo-description{font-size:1rem}.repo-links{flex-direction:column}.btn{width:100%;text-align:center}.back-button{padding:.6rem 1.2rem;font-size:.95rem}}@media(max-width:480px){.repositorio-container{padding:.75rem}.repo-detail{padding:1rem;border-radius:8px}.repo-readme h1{font-size:1.5rem;word-wrap:break-word}.repo-header h1{font-size:1.5rem}.back-button{padding:.5rem 1rem;font-size:.9rem;margin-bottom:1rem}.repo-readme{font-size:.95rem}}@media(max-width:360px){.repositorio-container{padding:.5rem}.repo-detail{padding:.75rem}.repo-header h1,.repo-readme h1{font-size:1.3rem}.repo-description{font-size:.95rem}.back-button{padding:.4rem .8rem;font-size:.85rem}}.footer{background:linear-gradient(100deg,#1a1a1a,#333);color:#fff;margin-top:4rem;border-top:2px solid #a57900}.footer-content{max-width:1200px;margin:0 auto;padding:3rem 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem}.footer-section h3{font-size:1.5rem;margin:0 0 .5rem;color:#a57900}.footer-section h4{font-size:1.1rem;margin:0 0 1rem;color:#a57900}.footer-section p{margin:0;color:#bbb;font-size:.95rem}.social-links{display:flex;gap:1rem;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:#a5790033;border:2px solid #a57900;border-radius:50%;text-decoration:none;color:#a57900;font-size:1.5rem;transition:all .3s ease;position:relative}.social-link img{margin-top:.5rem;max-height:100%;height:25px}.social-links a,.social-links button{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:#a5790033;border:2px solid #a57900;border-radius:50%;text-decoration:none;color:#a57900;font-size:1.5rem;transition:all .3s ease;position:relative;cursor:pointer;padding:0}.social-link:hover{background:#a57900;color:#fff;transform:translateY(-3px)}.tooltip{position:absolute;bottom:-30px;background:#a57900;color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease}.social-link:hover .tooltip{opacity:1}.contact-button{background:#a57900;color:#fff;border:none;padding:.8rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:200px}.contact-button:hover{background:#8a6200;transform:translateY(-2px);box-shadow:0 5px 15px #a579004d}.footer-bottom{text-align:center;padding:1.5rem 2rem;border-top:1px solid rgba(165,121,0,.3);color:#999;font-size:.9rem}.footer-bottom p{margin:0}@media(max-width:768px){.footer-content{padding:2rem 1rem;gap:2rem;grid-template-columns:1fr}.contact-button{max-width:100%}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:12px;padding:2.5rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;position:relative;text-align:center;animation:slideInUp .3s ease-out}:root[data-theme=dark] .modal-content{background:#151515;color:#f1f1f1;box-shadow:0 24px 60px #0009}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;transition:color .3s ease}:root[data-theme=dark] .modal-close{color:#c7c7c7}.modal-close:hover{color:#333}.modal-content h2{color:#333;margin-bottom:1rem;font-size:1.8rem}:root[data-theme=dark] .modal-content h2{color:#f3f3f3}.modal-content p{font-size:1.1rem;color:#555;margin-bottom:1.5rem;word-break:break-all}:root[data-theme=dark] .modal-content p{color:#cfcfcf}.copy-button{background:#a57900;color:#fff;border:none;padding:.8rem 1.2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}:root[data-theme=dark] .copy-button{box-shadow:0 8px 18px #00000073}.copy-button:hover{background:#8a6200;transform:translateY(-2px);box-shadow:0 5px 15px #a579004d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.modal-content{padding:2rem 1.5rem;width:95%}.modal-content h2{font-size:1.5rem}.modal-content p{font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;margin:0;padding:0}
