body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{transition:background-color .3s ease,color .3s ease}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8f8f8;--text-primary:#2c2c2c;--text-secondary:#666;--border-color:#e0e0e0;--section-bg:#f5f5f5;--section-bg-accent:#f0f8ff;--section-bg-accent-hover:#e8f4ff;--badge-bg:#e8e8e8;--badge-text:#333;--badge-border:#d0d0d0;--accent-purple:#9d4edd;--accent-pink:#ff006e;--accent-tiffany:#0099a1;--accent-pastel-green:#5fb878;--chat-user-bg:#9d4edd;--input-bg:#fff;--input-text:#2c2c2c;--input-border:#d0d0d0}:root[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--text-primary:#e8e8e8;--text-secondary:#b0b0b0;--border-color:#404040;--section-bg:#252525;--section-bg-accent:#1e2a3a;--section-bg-accent-hover:#243545;--badge-bg:#3a3a3a;--badge-text:#d0d0d0;--badge-border:#505050;--accent-purple:#c77dff;--accent-pink:#ff1493;--accent-tiffany:#20b2aa;--accent-pastel-green:#6fa876;--chat-user-bg:#c77dff;--input-bg:#333;--input-text:#e8e8e8;--input-border:#505050}:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}.App,body{background-color:var(--bg-primary)}.App{min-height:100vh;transition:background-color .3s ease}.navbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #0000001a;justify-content:space-between;padding:15px 30px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-left,.nav-right,.navbar{align-items:center;display:flex}.nav-left,.nav-right{gap:25px}.nav-link{color:var(--text-primary);cursor:pointer;font-size:1.1rem;font-weight:600;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:var(--accent-purple)}.theme-toggle{align-items:center;background:none;border:2px solid var(--accent-purple);border-radius:50%;cursor:pointer;display:flex;font-size:1.3rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.theme-toggle:hover{background-color:var(--accent-purple);transform:rotate(20deg)}.chat-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:20px;text-align:center}.morgana-container{margin:0 auto 15px;position:relative;width:-webkit-fit-content;width:fit-content}.morgana-image{animation:purr-glow 3s ease-in-out infinite;border:3px solid var(--accent-purple);border-radius:50%;height:100px;margin-bottom:8px;object-fit:cover;width:100px}.morgana-eyes{display:none}.chat-title-section h1{color:var(--text-primary);font-size:2rem;margin:8px 0 4px}.chat-title-section p{color:var(--text-secondary);font-size:.9rem;margin:0}.chat-disclaimer{color:var(--text-secondary);font-size:.8rem;font-weight:500;margin-top:10px;opacity:.9}.chat-window{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 20px #0000001a;height:calc(100vh - 450px);margin:15px auto;max-width:700px;min-height:370px}.chat-history,.chat-window{display:flex;flex-direction:column}.chat-history{flex-grow:1;gap:12px;overflow-y:auto;padding:20px}.message{word-wrap:break-word;animation:slideIn .3s ease;border-radius:18px;line-height:1.5;max-width:80%;padding:12px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background-color:var(--chat-user-bg);border-bottom-right-radius:4px;color:#fff}.message.bot{align-self:flex-start;background-color:var(--section-bg);border:1px solid var(--border-color);border-bottom-left-radius:4px;color:var(--text-primary)}.message p{margin:0}.chat-input{border-top:1px solid var(--border-color);display:flex;gap:10px;padding:15px}.chat-input input{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:24px;color:var(--input-text);flex-grow:1;font-size:1rem;padding:12px 16px;transition:border-color .3s ease,box-shadow .3s ease}.chat-input input:focus{border-color:var(--accent-purple);box-shadow:0 0 10px #c77dff4d;outline:none}.chat-input input::placeholder{color:var(--text-secondary)}.chat-input button{background:var(--accent-purple);border:2px solid var(--accent-purple);border-radius:24px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;min-width:90px;padding:10px 20px;transition:all .3s ease}.chat-input button:hover:not(:disabled){box-shadow:0 4px 15px #c77dff66;transform:translateY(-2px)}.chat-input button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.navbar{padding:12px 15px}.nav-left,.nav-right{gap:15px}.nav-link{font-size:.95rem}.chat-header{padding:20px 15px}.chat-title-section h1{font-size:1.8rem}.morgana-image{height:100px;width:100px}.chat-window{height:60vh;margin:15px}.message{max-width:90%}}.chat-history::-webkit-scrollbar{width:8px}.chat-history::-webkit-scrollbar-track{background:var(--bg-secondary)}.chat-history::-webkit-scrollbar-thumb{background:var(--accent-purple);border-radius:4px}.chat-history::-webkit-scrollbar-thumb:hover{background:var(--accent-pink)}.app-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;margin-top:40px;padding:20px}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.app-footer p{margin:0}.contact-button{background:none;border:none;color:var(--accent-purple);cursor:pointer;font-family:inherit;font-size:.9rem;padding:0;text-decoration:none;transition:color .3s ease}.contact-button:hover{color:var(--accent-pink);text-decoration:underline}.contact-button:active{opacity:.8}.modal-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background-color:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;padding:32px;text-align:center;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 12px}.modal-subtitle{color:var(--accent-tiffany);font-size:.95rem;font-weight:500;margin:0 0 16px}.modal-message{color:var(--text-secondary);font-family:Courier New,monospace;font-size:1rem;line-height:1.6;margin:0 0 24px}.modal-button{background-color:var(--accent-pink);border:none;border-radius:8px;box-shadow:0 4px 12px #ff006e4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 32px;transition:all .3s ease}.modal-button:hover{background-color:var(--accent-purple);box-shadow:0 6px 16px #9d4edd66;transform:translateY(-2px)}.modal-button:active{opacity:.9;transform:translateY(0)}.Tests{min-height:100vh;padding:2rem 1rem 100px}.tests-header{margin-bottom:3rem;text-align:center}.tests-header h1{font-size:2.5rem;margin-bottom:.5rem}.tests-subtitle{color:var(--text-secondary);font-size:1.1rem}.tests-error,.tests-loading{font-size:1.2rem;padding:3rem;text-align:center}.tests-content{margin:0 auto;max-width:1200px}.tests-content section{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.tests-content h2{color:var(--primary-color);font-size:1.8rem;margin-bottom:1.5rem}.tests-content h3{font-size:1.3rem;margin-bottom:1rem}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:center}.summary-card.success{border-color:#4caf50}.summary-card.failure{border-color:#f44336}.card-value{font-size:3rem;font-weight:700;margin-bottom:.5rem}.summary-card.success .card-value{color:#4caf50}.summary-card.failure .card-value{color:#f44336}.card-label{color:var(--text-secondary);font-size:1rem;letter-spacing:1px;text-transform:uppercase}.coverage-card{align-items:center;display:flex;flex-wrap:wrap;gap:3rem}.coverage-card.overall-coverage{background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);border:2px solid var(--primary-color);border-radius:12px;margin-bottom:2rem;padding:2rem}.coverage-breakdown{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1.5rem}.coverage-circle{align-items:center;border:8px solid;border-radius:50%;display:flex;flex-direction:column;height:180px;justify-content:center;position:relative;width:180px}.coverage-circle.coverage-good{background:#4caf501a;border-color:#4caf50}.coverage-circle.coverage-warning{background:#ff98001a;border-color:#ff9800}.coverage-circle.coverage-poor{background:#f443361a;border-color:#f44336}.coverage-value{font-size:2.5rem;font-weight:700}.coverage-label{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem}.coverage-details{flex:1 1}.coverage-stat{align-items:center;display:flex;font-size:1.1rem;justify-content:space-between;margin-bottom:1rem}.breakdown-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.breakdown-section{background:var(--bg-primary);border-radius:8px;padding:1.5rem}.test-stats{margin-top:1rem}.stat-row{border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.8rem}.stat-row:last-child{border-bottom:none}.stat-row.success strong{color:#4caf50}.stat-row.failure strong{color:#f44336}.env-info{background:var(--bg-primary);border-radius:8px;padding:1.5rem}.env-row{border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.8rem 0}.env-row:last-child{border-bottom:none}.stack-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stack-section{background:var(--bg-primary);border-radius:8px;padding:1.5rem}.stack-list{list-style:none;margin:1rem 0;padding:0}.stack-list li{background:var(--card-bg);border-left:3px solid var(--primary-color);border-radius:4px;margin-bottom:.5rem;padding:.5rem}.framework-label{background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-size:.9rem;font-style:italic;margin-top:1rem;padding:.8rem;text-align:center}@media (max-width:768px){.tests-header h1{font-size:2rem}.coverage-card{flex-direction:column;gap:1.5rem}.breakdown-grid,.stack-grid{grid-template-columns:1fr}}.About{margin:0 auto;max-width:900px;padding:40px 20px}.about-hero{align-items:center;background:var(--section-bg);border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;margin-bottom:60px;padding:40px 20px;text-align:center}.about-photo{animation:purr-glow 3s ease-in-out infinite;border:4px solid var(--accent-purple);border-radius:50%;box-shadow:0 0 30px var(--accent-purple);height:180px;margin-bottom:30px;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease;width:180px}.about-photo:hover{box-shadow:0 0 50px var(--accent-purple);transform:scale(1.05)}@keyframes purr-glow{0%,to{box-shadow:0 0 20px var(--accent-purple),0 0 40px #c77dff33;opacity:1}50%{box-shadow:0 0 40px var(--accent-purple),0 0 80px #c77dff66;opacity:1}}.about-title-section h1{color:var(--text-primary);font-size:3rem;font-weight:700;margin:0 0 15px}.about-tagline{color:var(--accent-purple);font-size:1.2rem;font-style:italic;font-weight:500;line-height:1.6;margin:0;max-width:600px}.about-content{display:flex;flex-direction:column;gap:40px}.about-section{background-color:var(--section-bg);border:1px solid var(--border-color);border-left:4px solid var(--accent-purple);border-radius:12px;padding:30px}.about-section h2{color:var(--accent-purple);font-size:1.8rem;font-weight:600;margin-bottom:25px;margin-top:0}.about-bio-group{display:flex;flex-direction:column;gap:18px}.about-bio{color:var(--text-primary);font-size:1.05rem;line-height:1.7;margin:0}.about-bio strong{color:var(--accent-tiffany);font-weight:600}.about-passion{color:var(--text-primary);font-style:italic}.about-passion,.about-personal{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin:0}.about-personal{background-color:var(--section-bg-accent);border-left:3px solid var(--accent-pastel-green);border-radius:6px;padding:15px}.tech-stack{display:flex;flex-wrap:wrap;gap:12px}.tech-badge{background-color:var(--badge-bg);border:1px solid var(--badge-border);border-radius:20px;color:var(--badge-text);display:inline-block;font-size:.95rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.tech-badge:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.education-item{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:20px}.education-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.education-title{color:var(--accent-pink);font-size:1.05rem;font-weight:600;margin:0 0 8px}.education-school{color:var(--text-secondary);font-size:.95rem;margin:0}.certification-item{background-color:var(--section-bg-accent);border-left:3px solid var(--accent-tiffany);border-radius:6px;margin-bottom:20px;padding:15px;transition:all .3s ease}.certification-item:last-child{margin-bottom:0}.certification-item:hover{background-color:var(--section-bg-accent-hover);border-left-color:var(--accent-purple)}.certification-title{color:var(--accent-tiffany);font-size:1.05rem;font-weight:600;margin:0 0 6px}.certification-details{color:var(--text-secondary);font-size:.95rem;margin:0}.about-cta{background-color:initial;border:none;padding:0;text-align:center}.linkedin-button{background:linear-gradient(135deg,var(--accent-purple),var(--accent-pink));border-radius:25px;box-shadow:0 4px 15px #c77dff4d;color:#fff;display:inline-block;font-size:1.05rem;font-weight:600;padding:14px 32px;text-decoration:none;transition:all .3s ease}.linkedin-button:hover{box-shadow:0 6px 20px #c77dff80;transform:translateY(-2px)}@media (max-width:768px){.about-hero{margin-bottom:40px;padding:30px 15px}.about-title-section h1{font-size:2rem}.about-tagline{font-size:1rem}.about-section{padding:20px}.about-section h2{font-size:1.4rem}.tech-stack{gap:10px}.tech-badge{font-size:.85rem;padding:6px 12px}}.language-toggle{left:20px;position:fixed;top:90px;z-index:1000}.language-toggle-button{align-items:center;background-color:var(--accent-purple);border:none;border-radius:50px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.language-toggle-button:hover{background-color:var(--accent-pink);box-shadow:0 6px 16px #0003;transform:scale(1.05)}.language-toggle-button:active{transform:scale(.98)}.dropdown-arrow{font-size:.6rem;margin-left:4px}.language-dropdown{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #0003;left:0;margin-top:8px;min-width:200px;overflow:hidden;position:absolute;top:100%}.language-option{align-items:center;background:#0000;border:none;color:var(--text-color);cursor:pointer;display:flex;font-size:.9rem;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease;width:100%}.language-option:hover{background-color:#805ad51a;background-color:var(--hover-bg,#805ad51a)}.language-option.active{background-color:var(--accent-purple);color:#fff}.language-option.active:hover{background-color:var(--accent-pink)}.lang-code{font-size:.85rem;font-weight:700}.lang-name{font-size:.75rem;opacity:.8}@media (max-width:768px){.language-toggle{left:15px;top:80px}.language-toggle-button{-webkit-tap-highlight-color:transparent;font-size:.75rem;padding:10px 14px;touch-action:manipulation}.language-dropdown{background-color:var(--bg-primary);left:15px;margin-top:0;max-width:calc(100vw - 30px);opacity:1;position:fixed;right:auto;top:130px;z-index:1001}.language-option{-webkit-tap-highlight-color:transparent;background-color:var(--bg-primary);padding:14px 16px;touch-action:manipulation}}.contact-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999}.contact-modal{animation:fadeIn .3s ease-out;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 24px #00000026;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.contact-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.contact-modal-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.close-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:color .2s ease;width:40px}.close-btn:hover{color:var(--text-primary)}.contact-modal-email{background-color:var(--section-bg-accent);border-left:3px solid var(--accent-purple);border-radius:6px;margin-bottom:16px;padding:12px 16px}.contact-modal-email p{color:var(--text-primary);font-size:.9rem;margin:0}.contact-modal-email strong{color:var(--accent-purple);font-weight:600}.contact-modal-description{color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.status-message{border-radius:8px;font-size:.9rem;margin-bottom:20px;padding:12px 16px}.status-message strong{display:block;margin-bottom:4px}.status-message.success{background-color:#5fb8781a;border:1px solid #5fb8784d;color:var(--accent-pastel-green)}.status-message.error{background-color:#ff006e1a;border:1px solid #ff006e4d;color:var(--accent-pink)}.contact-form{gap:16px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.form-group input,.form-group textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--input-text);font-family:inherit;font-size:.95rem;padding:10px 12px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-purple);box-shadow:0 0 0 2px #9d4edd1a;outline:none}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.error-text{color:var(--accent-pink);font-size:.8rem;margin-top:2px}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .2s ease}.btn-cancel{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-cancel:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--text-secondary)}.btn-submit{background-color:var(--accent-purple);color:#fff}.btn-submit:hover:not(:disabled){background-color:var(--accent-pink)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.contact-modal{border-radius:12px 12px 0 0;max-height:90vh;padding:16px}.contact-modal-header h2{font-size:1.25rem}.contact-form{gap:12px}}
/*# sourceMappingURL=main.2af4b6ac.css.map*/