html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{overflow-x:hidden}.projectCard{background-color:#222;border:2px solid gray;border-radius:10px;width:300px;height:200px;transition:all .2s;position:relative;overflow:hidden}.projectCard:hover{opacity:.9;border-color:#fff;transition:all .2s;scale:1.05}.projectBanner{object-fit:contain;width:100%;height:100%;position:absolute}.projectTitle{color:#fff;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:30px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:large;display:flex;position:absolute;bottom:0}:root{--navbar-height:8vh}:root,body,#root{height:100%;margin:0;overflow:hidden}.AppDiv{background-repeat:repeat;background-size:auto;width:100vw;height:100vh;padding-top:10px;position:relative;overflow:hidden}.AppDiv:before{content:"";pointer-events:none;background:#00000073;position:absolute;inset:0}.AppDiv>*{z-index:1;position:relative}.navbar{height:var(--navbar-height)}.main-content{height:calc(100vh - var(--navbar-height));margin-top:var(--navbar-height);box-sizing:border-box;scrollbar-gutter:stable;overflow-y:auto}.home-page{flex-direction:column;gap:100px;width:min(1400px,95%);margin:auto;padding:60px 0;display:flex}.hero-section{justify-content:space-between;align-items:center;gap:60px;display:flex}.hero-text{flex:1}.hero-tag{color:#8fc8ff;letter-spacing:2px;text-transform:uppercase;font-weight:600}.hero-text h1{color:#fff;margin:15px 0;font-size:clamp(3rem,5vw,5rem);line-height:1}.hero-description{color:#d9d9d9;max-width:700px;font-size:1.2rem;line-height:1.7}.hero-buttons{gap:20px;margin:40px 0;display:flex}.primary-button,.secondary-button{border-radius:12px;padding:15px 28px;font-weight:600;text-decoration:none;transition:all .25s}.primary-button{color:#fff;background:#4587ff}.secondary-button{color:#fff;border:2px solid #4587ff}.primary-button:hover,.secondary-button:hover{transform:translateY(-4px)}.hero-image{flex:1;justify-content:center;display:flex}.hero-image img{border-radius:30px;width:100%;max-width:420px;box-shadow:0 15px 40px #0006}.skills-section{margin-top:40px}.skills-list{flex-wrap:wrap;align-content:flex-start;gap:12px;min-height:96px;max-height:96px;transition:opacity .2s;display:flex;overflow:hidden}.skills-list.hide{opacity:0}.skills-list.show{opacity:1}.skills-list span{color:#fff;white-space:nowrap;text-overflow:ellipsis;opacity:0;background:#ffffff14;border-radius:50px;justify-content:center;align-items:center;max-width:240px;padding:10px 18px;animation:.35s forwards skillAppear;display:inline-flex;overflow:hidden}.skills-reroll-wrapper{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.reroll-row{align-items:center;gap:12px;display:flex}.reroll-row h3{color:#fff;margin:0;font-size:1rem;font-weight:500}.all-skills-link{color:#8fc8ff;font-size:.95rem;text-decoration:none;transition:color .2s}.all-skills-link:hover{color:#fff;text-decoration:underline}.skills-reroll-wrapper button{cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background-color .2s,transform .15s;display:flex}.skills-reroll-wrapper button:hover{background:#ffffff14;transition:all .2s;transform:scale(1.08)}.skills-reroll-wrapper button:active{transform:scale(.92)}.skills-reroll-wrapper img{width:28px;height:28px;display:block}@keyframes skillAppear{0%{opacity:0;transform:translateY(15px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.stats-section{grid-template-columns:repeat(4,1fr);gap:25px;display:grid}.stat-card{text-align:center;background:#ffffff14;border-radius:20px;padding:35px}.stat-card h2{color:#6db6ff;margin:0;font-size:2.5rem}.stat-card p{color:#fff}.featured-section h2,.about-section h2,.cta-section h2{color:#fff;text-align:center;margin-bottom:40px}.featured-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;display:grid}.project-card{color:#fff;background:#ffffff14;border-radius:20px;padding:30px;text-decoration:none;transition:all .25s}.project-card:hover{transform:translateY(-8px)}.project-card h3{margin-top:0}.project-card span{color:#78b9ff}.about-section{text-align:center}.about-section p{color:#ddd;max-width:900px;margin:auto;font-size:1.1rem;line-height:1.8}.cta-section{text-align:center;flex-direction:column;align-items:center;gap:25px;display:flex}@media (width<=900px){.home-page{gap:70px;padding:30px 0}.hero-section{text-align:center;flex-direction:column-reverse}.hero-buttons{flex-wrap:wrap;justify-content:center}.skills-list{justify-content:center}.stats-section{grid-template-columns:repeat(2,1fr)}.hero-image img{width:80%;max-width:340px}}@media (width<=550px){.stats-section{grid-template-columns:1fr}.hero-text h1{font-size:2.6rem}.hero-description{font-size:1rem}.hero-buttons{align-items:center;width:100%}.primary-button,.secondary-button{text-align:center;box-sizing:border-box;width:90%}}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.ProjectsDiv{width:100%;overflow-x:hidden}.projects-catalog{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px 20px;width:100%;padding:60px;display:grid}.tag-list{background-color:#0003;border-radius:100vw;flex-direction:column;row-gap:5px;width:fit-content;padding:5px;display:flex;position:absolute;top:0;box-shadow:-2px 0 8px 6px #0003}.tag-dot{border-radius:100%;outline:1px solid silver;width:10px;height:10px;box-shadow:0 0 5px 2px #d5d5d54d}.search-block{flex-direction:column;justify-content:center;align-items:center;row-gap:20px;margin-top:20px;display:flex}.search-bar{text-indent:10px;letter-spacing:0;word-spacing:2px;color:#000;font-variant:normal;text-transform:none;outline:5px solid silver;width:30%;height:30px;font-family:Lucida Console,Monaco,monospace;font-size:15px;font-style:normal;font-weight:400;text-decoration:none}.search-bar::placeholder{letter-spacing:2px;word-spacing:2px;color:#000;font-variant:normal;text-transform:none;opacity:.4;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif;font-size:15px;font-style:italic;font-weight:400;text-decoration:none}.tag-search-block{justify-content:center;width:90%;display:flex}.tag-button{opacity:.8;cursor:pointer;letter-spacing:.6px;word-spacing:1.2px;color:#fff;font-variant:normal;text-transform:none;text-shadow:3px 2px 4px #0b2a3fab;border:2px solid #0000;border-radius:20px;margin:5px;padding:8px 14px;font-family:Verdana,Geneva,sans-serif;font-size:15px;font-style:normal;font-weight:700;text-decoration:none;transition:all .2s}.tag-button:hover{opacity:.9;border-color:#fff;scale:1.05}.tag-button.selected{opacity:1;border-color:#fff;transform:scale(1.05);box-shadow:0 0 8px #ffffffb3}@media (width<=600px){.search-bar{width:90%}.tag-button{padding:4px 7px;font-size:10px}.tag-search-block{width:90%}}.doc-chapter{border-bottom:1px solid #add8e6}.chapter-title{letter-spacing:2px;word-spacing:2px;color:#000;font-variant:normal;text-transform:none;padding-left:2%;font-family:Tahoma,Geneva,sans-serif;font-size:2rem;font-style:normal;font-weight:700;text-decoration:none}.chapter-text{letter-spacing:0;word-spacing:2px;color:#303030;font-variant:normal;text-transform:none;font-family:Trebuchet MS,Helvetica,sans-serif;font-size:1.2rem;font-style:normal;font-weight:400;text-decoration:none}.chapter-text p{text-indent:2em;text-align:justify;margin:0 0 1rem;padding-left:5%;padding-right:5%}.chapter-text h1{text-indent:0;margin:0 0 1rem;padding-left:5%;padding-right:5%;font-size:1.6rem;font-style:italic}.chapter-text .doc-text-link{color:#06c;font-weight:600;text-decoration:none;transition:color .2s}.chapter-text .doc-text-link:hover{color:#61dafb;text-decoration:underline}.doc-element{width:80%;margin:2rem auto}.doc-element-title{letter-spacing:1px;color:#202020;margin-bottom:.8rem;font-family:Tahoma,Geneva,sans-serif;font-size:1.3rem;font-weight:700}.doc-code{color:#eee;white-space:pre;background-color:#1e1e1e;border-radius:10px;padding:1.5rem;font-family:Consolas,Courier New,monospace;font-size:1rem;overflow-x:auto}.doc-table{border-collapse:collapse;width:100%;font-family:Trebuchet MS,Helvetica,sans-serif;font-size:1rem}.doc-table th,.doc-table td{text-align:left;border:1px solid #b0b0b0;padding:.7rem}.doc-table th{background-color:#eee;font-weight:700}.doc-table tr:nth-child(2n){background-color:#f7f7f7}.doc-quote{color:#404040;background-color:#f5f5f5;border-left:5px solid #606060;margin:0;padding:1rem 1.5rem;font-family:Trebuchet MS,Helvetica,sans-serif;font-size:1.1rem;font-style:italic}.doc-media{flex-direction:column;align-items:center;width:80%;margin:2rem auto;display:flex}.doc-image,.doc-video{outline-offset:0px;outline:7px outset #7f8793b3;height:auto;box-shadow:9px 10px 15px 8px #000000b3}.doc-media-title{color:#505050;text-align:center;margin-top:1.5rem;font-family:Tahoma,Geneva,sans-serif;font-size:1rem;font-weight:600}.doc-image-set-container{width:80%;margin:2rem auto}.doc-image-set{align-items:center;gap:1rem;width:100%;display:flex}.doc-image-set .doc-image{flex:1;min-width:0;max-width:100%;height:auto}.doc-file{background:#fafafa;border:1px solid #d9d9d9;border-radius:14px;align-items:center;gap:20px;width:50%;margin:30px auto;padding:18px 22px;transition:all .2s;display:flex}.doc-file:hover{border-color:#7f8cff;box-shadow:0 6px 20px #00000014}.doc-file-icon{background:#eef2ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:30px;display:flex}.doc-file-info{flex:1;justify-self:left;min-width:0;margin-left:0;padding-left:0}.doc-file-info h4{margin:0;font-size:1.15rem}.doc-file-info p{color:#555;margin:6px 0}.doc-file-info span{color:#888;font-size:.9rem}.doc-file-button{color:#fff;background:#2563eb;border-radius:8px;flex-shrink:0;padding:10px 20px;font-weight:600;text-decoration:none;transition:all .2s}.doc-file-button:hover{background:#1d4ed8}.doc-youtube-wrapper{aspect-ratio:16/9;background:#000;border-radius:10px;width:100%;max-width:1000px;margin:0 auto;overflow:hidden}.doc-youtube{border:none;width:100%;height:100%}.doc-link{color:#fff;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:fit-content;margin:30px auto;padding:14px 28px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:flex}.github-icon{width:24px;height:24px}.doc-link:hover{background-color:#333b44;border-color:#61dafb;transform:translateY(-2px)}@media (width<=600px){.doc-file{width:100%;padding:0}.doc-file-info h4{font-size:1rem}.doc-file-info p{font-size:.7rem}.doc-file-button{padding:20px 4px;font-size:1rem}.doc-file-icon{width:30px;height:30px;font-size:20px}.doc-link{text-align:center;width:calc(100% - 40px);padding:14px 20px;font-size:1rem}}.overlay-background{z-index:9;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-container{margin-top:var(--navbar-height);z-index:10;background-color:#fff;border-radius:20px;width:60%;max-height:80vh;padding:30px;overflow-y:auto}.project-header-container{border-bottom:2px solid #a9a9a9;justify-content:space-between;min-height:30vh;padding:1vw;display:flex}.project-header-text-section{flex-direction:column;width:50%;padding:1vw 1vw 0;display:flex}.project-image{object-fit:contain;width:auto;max-width:100%;height:auto;min-height:25vh;max-height:30vh;display:block}.project-title{letter-spacing:-.8px;word-spacing:4.6px;color:#232323;font-variant:small-caps;text-transform:none;margin:0%;padding:0;font-family:Verdana,Geneva,sans-serif;font-size:50px;font-style:italic;font-weight:700;text-decoration:none;display:flex}.project-state{padding:3px;border-radius:100vw;width:fit-content;height:auto;margin-top:10px;padding-inline:20px}.project-summary{letter-spacing:.6px;word-spacing:0;color:#7c7c7c;font-variant:normal;text-transform:none;text-indent:40px;padding-top:20px;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif;font-size:16px;font-style:italic;font-weight:400;text-decoration:none}.project-tags{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}@media (width<=768px){.overlay-container{width:calc(100vw - 20px);max-width:none;max-height:calc(100vh - var(--navbar-height) - 20px);margin-top:var(--navbar-height);box-sizing:border-box;border-radius:12px;padding:16px}.project-header-container{flex-direction:column;align-items:center;gap:20px;min-height:auto;padding:0}.project-header-text-section{width:100%;padding:0}.project-image{object-fit:contain;order:-1;width:100%;max-width:100%;height:auto;max-height:220px}.project-title{text-align:center;justify-content:center;font-size:2rem}.project-state{margin:12px auto}.project-summary{text-indent:0;text-align:justify;padding-top:10px;font-size:15px}.project-tags{justify-content:center;margin-top:20px;margin-bottom:10px}}.tag-container{letter-spacing:.6px;word-spacing:1.2px;color:#fff;font-variant:normal;text-transform:none;text-shadow:3px 2px 4px #0b2a3fab;border-radius:999px;align-items:center;height:30px;padding-left:10px;padding-right:10px;font-family:Verdana,Geneva,sans-serif;font-size:10px;font-style:normal;font-weight:700;text-decoration:none;display:flex}.tag-unknown{color:#000;text-shadow:3px 1px 5px #ece7e7db;background:#b9b9b9;border:2px dashed #696969;align-items:center;height:26px;font-size:.9rem;display:flex}.skill-container{background-color:#fff;border:2px solid gray;border-radius:20px;justify-content:flex-start;align-items:center;width:100%;height:auto;margin-bottom:10px;display:flex}.skill-name{letter-spacing:0;word-spacing:-2px;color:#000;font-variant:normal;text-transform:none;padding-left:20px;padding-right:20px;font-family:Lucida Console,Monaco,monospace;font-size:20px;font-style:normal;font-weight:400;text-decoration:none}.skillset-container{break-inside:avoid;background-color:#add8e6;border-radius:20px;width:80%;margin-bottom:40px;padding:20px}.skillset-title{letter-spacing:2px;word-spacing:1px;color:#000;font-variant:normal;text-transform:none;font-family:Arial Black,Gadget,sans-serif;font-size:170%;font-style:normal;font-weight:400;text-decoration:none}.skills-catalog{column-count:2;column-gap:20px;width:80%;padding:60px}.SkillsDiv{justify-content:center;display:flex}@media (width<=768px){.skills-catalog{column-count:1;width:95%;padding-left:80px}}.history-main{background-color:#759b9d;border-radius:10px;flex-direction:column;gap:48px;width:70%;margin:40px auto;padding:30px;display:flex}.history-section{flex-direction:column;gap:20px;display:flex}.section-title{letter-spacing:1.2px;word-spacing:3.2px;color:#000;font-variant:normal;text-transform:capitalize;border-bottom:2px solid #d8d8d8;margin:0;padding-bottom:8px;font-family:Verdana,Geneva,sans-serif;font-size:3rem;font-style:normal;font-weight:700;text-decoration:none}.history-entry{letter-spacing:1px;word-spacing:0;color:#000;font-variant:normal;text-transform:none;background:#f3f3f3;border:1px solid #d0d0d0;border-radius:12px;flex-direction:column;gap:10px 14px;padding:24px;font-family:Tahoma,Geneva,sans-serif;font-size:14px;font-style:normal;font-weight:400;text-decoration:none;display:flex;box-shadow:0 2px 8px #00000014}.entry-header{border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:12px;display:flex}.entry-title{letter-spacing:1.4px;word-spacing:2px;color:#000;font-variant:normal;text-transform:none;margin:0;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif;font-size:18px;font-style:normal;font-weight:700;text-decoration:none}.entry-subtitle{letter-spacing:1.4px;word-spacing:2px;font-variant:normal;text-transform:none;color:#666;margin:4px 0 0;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif;font-size:13px;font-style:italic;font-weight:400;text-decoration:none}.entry-date{letter-spacing:1.4px;word-spacing:3.2px;font-variant:normal;text-transform:none;color:#444;background:#e0e0e0;border-radius:20px;flex-shrink:0;padding:4px 10px;font-family:Verdana,Geneva,sans-serif;font-size:13px;font-style:normal;font-weight:700;text-decoration:none}.entry-description{color:#333;margin:0;line-height:1.6}.entry-list{margin:0;padding-left:20px}.entry-list li{margin:6px 0;line-height:1.5}.entry-list li::marker{color:#4b6cb7}.education-degree{flex-direction:column;gap:4px;display:flex}.education-degree:not(:last-child){border-bottom:1px solid #ddd;margin-bottom:16px;padding-bottom:16px}.education-degree h3{margin-bottom:5px}.education-degree p{text-indent:30px;margin:0}@media (width<=768px){.history-main{box-sizing:border-box;gap:24px;width:calc(100% - 24px);margin:16px auto;padding:16px}.history-section{gap:16px}.section-title{letter-spacing:0;word-spacing:normal;font-size:2rem}.history-entry{gap:12px;padding:16px}.entry-header{flex-direction:column;align-items:flex-start;gap:10px}.entry-title{letter-spacing:0;word-spacing:normal;font-size:1.2rem}.entry-subtitle{letter-spacing:0;word-spacing:normal;font-size:.9rem}.entry-date{letter-spacing:0;word-spacing:normal;align-self:flex-start;font-size:.8rem}.entry-description,.entry-list{font-size:.95rem}.education-degree h3{font-size:1rem}.education-degree p{text-indent:0;font-size:.95rem}}.navbar{z-index:999;background:linear-gradient(135deg,#d3d3d3 0%,#9ca1a5 49%,#565656 100%);justify-content:center;align-items:center;width:100%;height:80px;display:flex;position:fixed;top:0;left:0}.navbar-name{letter-spacing:1px;color:#fff;text-shadow:0 0 5px #000,0 0 10px #fff;white-space:nowrap;font-family:Lucida Console,Monaco,monospace;font-size:25px;font-weight:700;position:absolute;left:25px}.navbar-buttons-wrapper{align-items:center;gap:20px;height:100%;display:flex}.navButton{color:#000;background-color:#bbb;border:none;border-radius:15px;outline:1px solid #fff;justify-content:center;align-items:center;width:90px;height:55px;padding:0;text-decoration:none;transition:all .15s;display:flex;position:relative;overflow:hidden}.navButton-icon{opacity:.65;width:auto;height:90%;transition:all .15s}.navButton-label{letter-spacing:1px;color:#fff;text-shadow:0 0 5px #000,0 0 10px #fff,0 0 15px #fff;pointer-events:none;z-index:2;font-family:Lucida Console,Monaco,monospace;font-size:15px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.navButton:hover{background-color:#d3d3d3}.navButton:hover .navButton-icon{opacity:1;transform:scale(1.1)}.navButton.active{background-color:#fff;box-shadow:0 0 12px #fffc}.navButton.active:hover{background-color:#fff}@media (width<=1600px){.navbar{flex-direction:column;padding:0}.navbar-name{flex:1;justify-content:center;align-items:center;margin:0;font-size:18px;display:flex;position:static}.navbar-buttons-wrapper{align-items:center;gap:10px;height:55px;margin-bottom:2px;display:flex}.navButton{width:70px;height:45px}.navButton-label{letter-spacing:1px;font-size:12px;font-weight:700}}.contact-page{background-color:#f0f8ff;border-radius:10px;align-self:center;width:80%;margin:10px auto 20px;padding:40px}.contact-header{text-align:center;margin-bottom:50px}.contact-header h1{margin-bottom:10px;font-size:3rem}.contact-header p{opacity:.8;font-size:1.2rem}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(370px,1fr));gap:25px;display:grid}.contact-card{color:#000;background-color:#ffffffe6;border-radius:15px;padding:25px;transition:transform .2s;box-shadow:0 5px 15px #0003}.contact-card:hover{transform:translateY(-5px)}.contact-card h2{margin-top:0;margin-bottom:20px}.contact-card p{line-height:1.5}.contact-card a{color:#06c;text-decoration:none}.contact-card a:hover{text-decoration:underline}.contact-links{flex-direction:column;gap:12px;display:flex}.contact-card ul{padding-left:20px}.contact-card li{margin-bottom:8px}.contact-card button{cursor:pointer;color:#fff;background-color:#333;border:none;border-radius:8px;margin-top:15px;padding:10px 18px;transition:all .2s}.contact-card button:hover{background-color:#555}@media (width<=600px){.contact-page{width:95%;padding:30px 0}.contact-header h1{font-size:2.2rem}}.copy-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.copy-info{flex-direction:column;display:flex;overflow:hidden}.copy-label{opacity:.7;font-size:.85rem}.copy-value{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.copy-row button{cursor:pointer;color:#fff;background-color:#333;border:none;border-radius:8px;flex-shrink:0;padding:8px 14px;transition:background-color .2s}.copy-row button:hover{background-color:#555}
