.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-main{flex-direction:column;flex:1;min-height:0;display:flex}#night-sky{pointer-events:none;display:none}[data-theme=dark] #night-sky{display:block}#moon-img{opacity:.85;z-index:0;pointer-events:none;filter:drop-shadow(0 0 1.125rem #c8dcff80);width:5.625rem;animation:6s ease-in-out infinite moonFloat;position:fixed;top:6rem;left:1.5rem}@keyframes moonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-.625rem)}}.page-star{pointer-events:none;z-index:0;animation:pageTwinkle var(--duration) ease-in-out infinite var(--delay);background:#fff;border-radius:50%;position:fixed}@keyframes pageTwinkle{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@media (width<=576px){#moon-img{top:9rem}.moon-hidden-mobile{display:none}}.ai-assistant-page{flex-direction:column;flex:1;min-height:0;display:flex}#ai-assistant-section{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;width:80%;min-height:0;margin-inline:auto;padding-bottom:1rem;display:flex}@media (width<=576px){#assistant-navbar-links{justify-content:flex-start;margin-left:.5rem}}.navbar{z-index:1;background-color:#77afd0;align-items:center;display:flex;position:sticky;top:0}.navbar-title{margin-left:.7rem;font-family:Sansita,sansita-bold;font-size:1rem}.navbar-links{gap:1rem;margin-left:1.5rem;font-family:Sansita,sansita-regular;display:flex}.navbar-link{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:.7rem;padding:.35rem .6rem}.navbar-router-link{color:inherit;text-decoration:none}.navbar-ai-link{position:relative}.navbar-ai-link:after{content:"BETA";color:#1a1a1a;letter-spacing:.08em;pointer-events:none;background:#f5c518;border-radius:.2rem;padding:.12rem .3rem;font-size:.5rem;font-weight:800;line-height:1;position:absolute;top:-.5rem;right:-.375rem;transform:rotate(12deg)}@media (hover:hover){.navbar-link:hover{background-color:#2563eb1a}}.navbar-link:active{color:#02268b;transform:scale(.95)}.navbar-theme{margin-left:auto;margin-right:1rem}[data-theme=dark] .navbar{background-color:#021f33}@media (width<=576px){.navbar{flex-wrap:wrap}.navbar-title{flex:1;order:1;font-size:.85rem}.navbar-theme{order:2;margin-left:auto}.navbar-links{flex-wrap:wrap;order:3;justify-content:space-evenly;row-gap:.5rem;width:100%;margin-left:0;padding-bottom:.3rem;font-size:.8rem}.navbar-ai-link:after{padding:.06rem .3rem;font-size:.42rem;top:-.4rem;right:-.25rem}}.theme-toggle{--size:.7rem;--sky-day:linear-gradient(135deg, #87ceeb 0%, #ffd27a 100%);--sky-night:linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);--sun:radial-gradient(circle at 30% 30%, #fffacd, #ffb347);--moon:radial-gradient(circle at 35% 35%, #f4f4f4, silver);font-size:var(--size);cursor:pointer;background:var(--sky-day);border:none;border-radius:999em;width:3.75em;height:1.875em;padding:0;transition:background .5s;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 .125em .375em #0003}.theme-toggle[data-mode=dark]{background:var(--sky-night)}.theme-toggle .orb{background:var(--sun);border-radius:50%;width:1.5em;height:1.5em;transition:transform .5s cubic-bezier(.4,0,.2,1),background .5s,box-shadow .5s;position:absolute;top:.1875em;left:.1875em;box-shadow:0 0 .5em #ffc864e6,0 .125em .25em #0003}.theme-toggle[data-mode=dark] .orb{background:var(--moon);transform:translate(1.875em);box-shadow:0 0 .4em #ffffff80,0 .125em .25em #0006}.theme-toggle .crater{opacity:0;background:#1a1a2e;border-radius:50%;width:1em;height:1em;transition:opacity .4s,transform .4s;position:absolute;top:.2em;right:-.4em;transform:scale(0)}.theme-toggle[data-mode=dark] .crater{opacity:1;transform:scale(1)}.theme-toggle .stars{opacity:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.theme-toggle[data-mode=dark] .stars{opacity:1}.theme-toggle .star{background:#fff;border-radius:50%;width:.15em;height:.15em;animation:1.8s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 .25em #fff}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media (width<=576px){.theme-toggle{--size:.5rem}}.progress-bar{background:#c3e8f873;border:.1rem solid #05044b73;border-radius:.35rem;width:35rem;min-width:8rem;height:.9rem;font-family:DM Sans,sans-serif;position:relative;overflow:hidden}.progress-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#7dd8ff,#9eb8ff);height:100%;transition:width .25s}.progress-bar-label{color:#0a0a3a;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex;position:absolute;inset:0}[data-theme=dark] .progress-bar{background:#0c0e1cbf;border-color:#ffffff29}[data-theme=dark] .progress-bar-fill{background:linear-gradient(90deg,#1a6d94,#2a4080)}[data-theme=dark] .progress-bar-label{color:#e8e8e8}@media (width<=576px){.progress-bar{border-width:.08rem;border-radius:.65rem;width:100%;min-width:0;max-width:100%;height:.8rem}.progress-bar-label{font-size:.6rem}}.ai-answer-board-scroll-inner{box-sizing:border-box;--assistant-message-font-size:1rem;--assistant-message-line-height:1.45;flex-direction:column;gap:.75rem;width:100%;display:flex}#ai-answer-board-container{box-sizing:border-box;width:var(--assistant-panel-width,35rem);max-width:100%;height:var(--assistant-board-height,25rem);scrollbar-width:thin;scrollbar-color:#05044b73 #05044b0f;background:#c3e8f8;border:.2rem solid #05044b66;border-radius:1rem;padding:1rem;overflow-y:auto}#ai-answer-board-container::-webkit-scrollbar{width:.5rem}#ai-answer-board-container::-webkit-scrollbar-track{background:#05044b0f;border-radius:1rem;margin:.35rem 0}#ai-answer-board-container::-webkit-scrollbar-thumb{background-color:#05044b61;background-clip:padding-box;border:.125rem solid #0000;border-radius:1rem}#ai-answer-board-container::-webkit-scrollbar-thumb:hover{background-color:#05044b8c}#ai-answer-board-container::-webkit-scrollbar-corner{background:0 0}.ai-answer-board-user{width:fit-content;max-width:72%;font-family:DM Sans,sans-serif;font-size:var(--assistant-message-font-size);font-weight:500;line-height:var(--assistant-message-line-height);color:#0a0a3a;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:#05044b2e;border:.08rem solid #05044b59;border-radius:.75rem .75rem .25rem;align-self:flex-end;margin:0;padding:.4rem .65rem}.ai-answer-board-assistant{text-align:left;width:100%;font-family:DM Sans,sans-serif;font-size:var(--assistant-message-font-size);font-weight:500;line-height:var(--assistant-message-line-height);white-space:normal;overflow-wrap:anywhere;align-self:flex-start;margin:0}.ai-answer-board-assistant p,.ai-answer-board-assistant li{font-size:inherit;line-height:inherit}.ai-answer-board-assistant p{margin:0 0 .75rem}.ai-answer-board-assistant ul,.ai-answer-board-assistant ol{margin:0 0 .75rem 1.25rem;padding:0}.ai-answer-board-assistant li{margin-bottom:.25rem}.ai-answer-board-assistant pre{background:#00000014;border-radius:.5rem;margin:.5rem 0;padding:.5rem;overflow-x:auto}.ai-answer-board-assistant code{font-family:Consolas,Courier New,monospace;font-size:.9em}.ai-answer-board-typing{background:#0000000f;border-radius:.85rem;align-items:center;gap:.28rem;width:fit-content;min-height:1.45rem;padding:.35rem .55rem;display:flex}.ai-typing-dot{background:#05044b8c;border-radius:50%;width:.28rem;height:.28rem;animation:1.1s ease-in-out infinite ai-typing-pulse}.ai-typing-dot:nth-child(2){animation-delay:.15s}.ai-typing-dot:nth-child(3){animation-delay:.3s}@keyframes ai-typing-pulse{0%,80%,to{opacity:.35;transform:scale(.9)}40%{opacity:1;transform:scale(1)}}[data-theme=dark] #ai-answer-board-container{color:#eee;scrollbar-color:#fff6 #ffffff0f;background:#2a2a2a;border-color:#ffffff26}[data-theme=dark] #ai-answer-board-container::-webkit-scrollbar-track{background:#ffffff0f}[data-theme=dark] #ai-answer-board-container::-webkit-scrollbar-thumb{background-color:#ffffff47}[data-theme=dark] #ai-answer-board-container::-webkit-scrollbar-thumb:hover{background-color:#ffffff6b}[data-theme=dark] .ai-answer-board-user{color:#eee;background:#ffffff1f;border-color:#ffffff38}[data-theme=dark] .ai-answer-board-assistant pre,[data-theme=dark] .ai-answer-board-typing{background:#ffffff14}[data-theme=dark] .ai-typing-dot{background:#ffffff8c}@media (width<=576px){#ai-answer-board-container{z-index:1;padding:.5rem;position:relative}.ai-answer-board-scroll-inner{--assistant-message-font-size:.75rem;--assistant-message-line-height:1.4;gap:.5rem}.ai-answer-board-user{border-radius:.65rem .65rem .22rem;max-width:88%;padding:.35rem .5rem}.ai-answer-board-typing{border-radius:.5rem;gap:.14rem;min-height:.85rem;padding:.16rem .28rem}.ai-typing-dot{width:.22rem;height:.22rem}}.typed-assistant-markdown{min-width:0}#prompt-input-container{width:var(--assistant-panel-width,35rem);flex-direction:column;justify-content:center;align-items:stretch;max-width:100%;display:flex}#prompt-input-button-container{flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:.35rem;display:flex}#prompt-input{box-sizing:border-box;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#05044b73 #05044b0f;resize:none;field-sizing:content;color:#000;background:#c3e8f8;border:.15rem solid #05044b66;border-radius:.85rem;outline:none;width:100%;max-width:100%;min-height:1.25rem;max-height:10rem;padding:.38rem .85rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;overflow-y:auto}#prompt-input::placeholder{color:#000}#prompt-input:focus::placeholder{color:#0000}#prompt-input::-webkit-scrollbar{width:.5rem}#prompt-input::-webkit-scrollbar-track{background:#05044b0f;border-radius:1rem;margin:.35rem 0}#prompt-input::-webkit-scrollbar-thumb{background-color:#05044b61;background-clip:padding-box;border:.125rem solid #0000;border-radius:1rem}#prompt-input::-webkit-scrollbar-thumb:hover{background-color:#05044b8c}.prompt-input-button{box-sizing:border-box;color:#0a0a3a;cursor:pointer;background:#c3e8f8;border:.15rem solid #05044b73;border-radius:1rem;align-self:start;width:7rem;height:2rem;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.prompt-input-button:hover{background:#05044b2e;border-color:#05044b8c}.prompt-input-button:active{transform:scale(.98)}#prompt-input:read-only{opacity:.65;cursor:default}.prompt-input-button:disabled{opacity:.45;cursor:default;transform:none}.prompt-input-button:disabled:hover{background:#c3e8f8;border-color:#05044b73}[data-theme=dark] .prompt-input-button:disabled:hover{background:#2a2a2a;border-color:#ffffff38}[data-theme=dark] #prompt-input{color:#eee;scrollbar-color:#fff6 #ffffff0f;background:#2a2a2a;border-color:#ffffff26}[data-theme=dark] #prompt-input::-webkit-scrollbar-track{background:#ffffff0f}[data-theme=dark] #prompt-input::-webkit-scrollbar-thumb{background-color:#ffffff47}[data-theme=dark] #prompt-input::-webkit-scrollbar-thumb:hover{background-color:#ffffff6b}[data-theme=dark] #prompt-input::placeholder{color:#eee}[data-theme=dark] #prompt-input:focus::placeholder{color:#0000}[data-theme=dark] .prompt-input-button{color:#eee;background:#2a2a2a;border-color:#ffffff38}[data-theme=dark] .prompt-input-button:hover{background:#ffffff24;border-color:#ffffff59}@media (width<=576px){#prompt-input{border-width:.12rem;border-radius:.65rem;min-height:1.15rem;max-height:8rem;padding:.3rem .45rem;font-size:.75rem}#prompt-input-button-container{justify-content:space-between;margin-top:.25rem}.prompt-input-button{-webkit-tap-highlight-color:transparent;border-radius:.75rem;flex:none;align-self:center;width:6.75rem;height:1.75rem;font-size:.72rem}.prompt-input-button:hover,.prompt-input-button:focus{background:#c3e8f8;border-color:#05044b73;outline:none}[data-theme=dark] .prompt-input-button:hover,[data-theme=dark] .prompt-input-button:focus{background:#2a2a2a;border-color:#ffffff38;outline:none}}#main-page{flex-direction:column;justify-content:center;align-items:center;display:flex}#welcome-section{width:100%;height:50rem}#about-section{width:100%;height:40rem}#skills-section{width:100%;height:auto}#portfolio-section{width:100%;height:60rem}#additional-section{height:28rem}@media (width<=576px){#welcome-section,#about-section{height:38rem}#skills-section{height:auto;padding-top:1rem;padding-bottom:5rem}#portfolio-section{height:40rem;padding-top:3rem}#additional-section{height:30rem}}#main-navbar{z-index:1;background-color:#77afd0;align-items:center;display:flex;position:sticky;top:0}#main-navbar-title{margin-left:.7rem;font-family:Sansita,sansita-bold;font-size:1rem}#main-navbar-links{gap:1rem;margin-left:1.5rem;font-family:Sansita,sansita-regular;display:flex}.main-navbar-link{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:.7rem;padding:.35rem .6rem}@media (hover:hover){.main-navbar-link:hover{background-color:#2563eb1a}}.main-navbar-link:active{color:#02268b;transform:scale(.95)}#main-navbar-theme{margin-left:auto;margin-right:1rem}[data-theme=dark] #main-navbar{background-color:#021f33}@media (width<=576px){#main-navbar{flex-wrap:wrap}#main-navbar-title{flex:1;order:1;font-size:.85rem}#main-navbar-theme{order:2;margin-left:auto}#main-navbar-links{flex-wrap:wrap;order:3;justify-content:space-evenly;width:100%;margin-left:0;padding-bottom:.3rem;font-size:.8rem}}#welcome-container{height:60rem;margin-top:30vh}#welcome-title{font-family:Bebas Neue,sans-serif;font-size:5rem;font-weight:400}#welcome{height:5rem;animation-delay:1s}#inspired{margin-top:1rem;animation-delay:2s}#inspired-text{font-family:Roboto,sans-serif;font-size:2rem}.greeting-section{justify-content:center;align-items:center;animation-name:delay;animation-duration:5s;animation-fill-mode:backwards;display:flex}@keyframes delay{0%{opacity:0}to{opacity:1}}@media (width<=576px){#welcome-container{margin-top:20vh;margin-left:.5rem;margin-right:.5rem}#welcome-title{font-size:3rem}#inspired-text{font-size:1.2rem}}#about-container{margin-top:2rem;margin-left:3rem;display:flex}.about-item{max-width:28rem}.about-title{margin-bottom:1rem;font-family:Sansita,sans-serif;font-size:2.5rem;font-weight:400}.about-specialized{font-family:Sansita,sans-serif;font-size:1.25rem}.about-description{font-family:Roboto,sans-serif;font-size:1rem;line-height:1.6rem}@media (width<=576px){#about-container{margin-left:1rem;margin-right:1rem}.about-item{max-width:25rem}.about-title{font-size:1.8rem}.about-specialized{font-size:1rem}.about-description{font-size:.8rem}}#skills-container{box-sizing:border-box;width:100%;padding:4rem 2rem}#skills-title{text-align:center;letter-spacing:.1rem;margin-bottom:2.5rem;font-family:Bebas Neue,sans-serif;font-size:3rem;font-weight:400}#skills-list{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.skill-item{-webkit-backdrop-filter:blur(.75rem);opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#ffffff14 100%);border:.0625rem solid #ffffff59;border-radius:1.25rem;flex:16.25rem;max-width:20rem;padding:1.75rem 1.8rem;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:inset 0 .125rem #fff6,0 .5rem 2rem #0000001a}.skill-item:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff26,#0000 60%);position:absolute;inset:0}.skill-item-visible{animation:.5s both skillFadeIn}.skill-item:hover{transform:translateY(-.375rem);box-shadow:inset 0 .125rem #fff6,0 1rem 2.5rem #00000029}.skill-images{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;min-height:4rem;margin-bottom:1.2rem;display:flex}.skill-image{object-fit:contain;filter:drop-shadow(0 .125rem .25rem #00000026);width:3.25rem;height:3.25rem;transition:transform .2s}.skill-image:hover{transform:scale(1.1)}.skill-text{color:var(--text);opacity:.9;margin:0;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:400;line-height:1.75}[data-theme=dark] .skill-item{background:linear-gradient(135deg,#ffffff1a 0%,#ffffff08 100%);border-color:#ffffff26;box-shadow:inset 0 .125rem #ffffff1a,0 .5rem 2rem #0000004d}[data-theme=dark] .skill-item:hover{box-shadow:inset 0 .125rem #ffffff1a,0 1rem 2.5rem #0006}@media (width<=576px){#skills-container{padding:2rem 1rem}#skills-title{font-size:2rem}.skill-item{flex:100%;max-width:100%;padding:1.2rem 1rem}.skill-image{width:2.5rem;height:2.5rem}.skill-text{font-size:.8rem}}@keyframes skillFadeIn{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}#portfolio-title{text-align:center;letter-spacing:.1rem;margin-top:5rem;margin-bottom:2.5rem;font-family:Bebas Neue,sans-serif;font-size:3rem;font-weight:400}.portfolio-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;color:var(--text);background:#ffffff26;border:.1rem solid #fff6;border-radius:.6rem;margin-top:1rem;padding:.5rem 1.2rem;font-family:Roboto,sans-serif;font-size:.9rem;transition:background .2s,transform .2s;position:relative}.portfolio-btn-tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#000000bf;border-radius:.4rem;padding:.3rem .65rem;font-size:.78rem;transition:opacity .2s;position:absolute;top:2.5rem;left:50%;transform:translate(-50%)}.portfolio-btn:hover{background:#ffffff47;transform:translateY(-.5rem)}.portfolio-btn:hover .portfolio-btn-tooltip{opacity:1}#rememberapp-container{flex-direction:column;align-items:flex-start;margin-left:3rem;display:flex}#rememberapp-img{opacity:.8;width:15rem;box-shadow:0 0 2rem 2rem #2b1a671a}[data-theme=dark] #rememberapp-img{opacity:.7}.portfolio-item{opacity:0}.portfolio-item-visible{animation:1s both slideInLeft}@keyframes slideInLeft{0%{opacity:0;transform:translate(-3rem)}to{opacity:1;transform:translate(0)}}@media (width<=576px){#portfolio-title{margin-top:2rem;font-size:1.8rem}#rememberapp-container{justify-content:center}#rememberapp-img{width:10rem}.portfolio-btn{-webkit-tap-highlight-color:transparent;outline:none;width:7.5rem;margin-top:.5rem;padding:.2rem .3rem;font-size:.65rem}.portfolio-btn:hover{transform:none}.portfolio-btn-tooltip{visibility:hidden}}#additional-container{opacity:0;justify-content:center;align-items:center;max-width:18rem;height:20rem;font-family:Roboto,sans-serif;font-size:.95rem;font-style:italic;line-height:1.4rem;display:flex}#additional-container.visible{animation:3s forwards delay}@media (width<=576px){#additional-container{max-width:90%;padding:1rem;font-size:.85rem}#additional-text{max-width:16rem;font-size:.8rem}}#footer-section{background-color:#77afd0;flex-shrink:0;justify-content:center;align-items:center;gap:1.5rem;display:flex}[data-theme=dark] #footer-section{background-color:#021f33}#footer-text{font-family:DM Sans,sans-serif;font-size:.8rem}#footer-icons{justify-content:center;align-items:center;gap:1.4rem;display:flex}.link-icon{width:.9rem;height:.9rem}.hidden{visibility:hidden}#envelope-wrapper{cursor:pointer;display:inline-flex;position:relative}#email-copy-pop{white-space:nowrap;background:#fff;border-radius:.7rem;align-items:center;gap:.2rem;padding:.15rem .4rem;display:flex;position:absolute;bottom:120%;left:50%;transform:translate(-50%);box-shadow:0 .2rem .8rem #00000026}#email-copy-text{font-size:.875rem;font-style:italic}[data-theme=dark] .link-icon{fill:#fff}[data-theme=dark] #email-copy-pop{color:#fff;background:#2a2a3e;box-shadow:0 2px 8px #0006}@media (width<=576px){#footer-text{font-size:.7rem}#footer-icons{gap:1.2rem}.link-icon{width:.8rem;height:.8rem}#email-copy-pop{padding:.1rem .3rem}#email-copy-text{font-size:.6rem}}
