*{margin:0;padding:0;box-sizing:border-box;font-family:Fira Code,Courier New,monospace}:root{--bg-body: #040404;--bg-terminal: #050505;--text-primary: #f5f5f5;--text-accent: #a0a0a0;--text-dark: #f5f5f5}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:center}body{background:linear-gradient(#000000e6,#000000f2);background-size:cover;background-position:center;background-attachment:fixed;color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;line-height:1.5;transition:background .3s ease}body.light-mode{background:linear-gradient(#888888f2,#808080f7);background-size:cover;background-position:center;background-attachment:fixed;--bg-body: #888888;--bg-terminal: #aaaaaa;--text-primary: #1a1a1a;--text-accent: #3a3a3a;--text-dark: #2a2a2a}.terminal{background:#000;border-radius:0;width:95%;max-width:1400px;height:85vh;max-height:900px;display:flex;flex-direction:column;position:relative;box-shadow:0 20px 50px #00000080;overflow:hidden;padding:0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08)}.terminal-header{background:#000;padding:.3rem .5rem;display:flex;align-items:center;gap:.5rem;border-radius:0;border-bottom:1px solid rgba(255,255,255,.1);height:28px}.terminal-header .window-buttons{display:flex;gap:.3rem;margin-left:.3rem}.terminal-header .window-buttons span{width:12px;height:12px;border-radius:0;position:relative;background:#333;border:1px solid #444;transition:all .2s ease}.terminal-header .window-buttons span:nth-child(1):before,.terminal-header .window-buttons span:nth-child(2):before,.terminal-header .window-buttons span:nth-child(3):before{color:#fff}.terminal-header .window-buttons span:hover{background:#444}.terminal-header .window-buttons span:hover:before{opacity:1}.terminal-header .title{color:#fff;font-size:.85rem;flex-grow:1;text-align:center;font-weight:400;font-family:Fira Code,monospace;letter-spacing:1px;text-transform:lowercase;opacity:.9}.terminal-content{padding:1rem;background:#000;flex-grow:1;display:flex;flex-direction:column;position:relative}body.light-mode .terminal{background:#aaa;border:1px solid #999999;box-shadow:0 4px 20px #0003}body.light-mode .terminal-header{background:#999;border-bottom:1px solid #888888}body.light-mode .terminal-header .title{color:#1a1a1a}body.light-mode .terminal-content{background:#aaa}body.light-mode .window-buttons span{background:#888;border:1px solid #777777}body.light-mode .window-buttons span:hover{background:#999}body.light-mode .ascii-art{color:#2b2b2b}body.light-mode .tagline{color:#555}body.light-mode .nav{background:#888888f2;border:1px solid #999999;box-shadow:0 2px 8px #00000026}body.light-mode .nav a{color:#3a3a3a}body.light-mode .nav a.active,body.light-mode .nav a:hover,body.light-mode .nav a:first-child{background:#0000001a;color:#1a1a1a}body.light-mode .about-content .keyword{color:#05c}body.light-mode .about-content .comment{color:#6e6e6e}body.light-mode .stats{color:#555}body.light-mode .cursor{background-color:#2b2b2b}.theme-toggle{margin-right:.5rem;opacity:.8;transition:opacity .3s ease;cursor:pointer;transform-origin:top center;position:relative;height:65px;display:flex;flex-direction:column;align-items:center;padding-top:12px;z-index:100}.theme-toggle:hover{opacity:1}.bulb{width:18px;height:18px;background:#ffeb3b;border-radius:50%;position:relative;transition:all .3s ease;border:1.5px solid rgba(255,255,255,.3);box-shadow:0 0 10px #ffeb3b80;transform-origin:top center;cursor:pointer}body.light-mode .bulb{background:#bbb;box-shadow:0 0 20px #8889;border:1.5px solid #999999}.chain{width:3px;height:40px;background:#fff;position:relative;margin-top:-1px;cursor:grab;transition:height .3s cubic-bezier(.4,0,.2,1);opacity:.9;transform-origin:top center;z-index:100}.chain.pulling{cursor:grabbing;height:55px}.chain:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:8px;height:8px;background:#fff;border-radius:50%;opacity:.9;box-shadow:0 2px 4px #0003}@keyframes hangingBulb{0%,to{transform:rotate(0)}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}@keyframes pullChain{0%{transform:translateY(0) rotate(0)}20%{transform:translateY(20px) rotate(10deg)}40%{transform:translateY(8px) rotate(-8deg)}60%{transform:translateY(-3px) rotate(6deg)}80%{transform:translateY(2px) rotate(-3deg)}to{transform:translateY(0) rotate(0)}}@keyframes swingBulb{0%{transform:rotate(0)}20%{transform:rotate(-15deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}to{transform:rotate(0)}}.theme-toggle.pulling{animation:swingBulb 1.5s cubic-bezier(.36,0,.66,-.56) forwards}.theme-toggle.pulling .chain{animation:pullChain 1.5s cubic-bezier(.36,0,.66,-.56) forwards}.face-container{position:relative;width:70px;height:45px;display:flex;flex-direction:column;align-items:center;margin-bottom:.2rem;opacity:.95;transition:all .3s ease}.eyes{display:flex;gap:15px}.eye{width:18px;height:18px;background:#000;border-radius:50%;position:relative;box-shadow:none;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.pupil{width:8px;height:8px;background:#fff;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .1s ease;box-shadow:none}body.light-mode .pupil{background:#2b2b2b}body.light-mode .eye{background:#bbb;border-color:#0003;box-shadow:0 1px 4px #0000001a}.smile{width:35px;height:15px;border:2.5px solid #ffffff;border-radius:0 0 35px 35px;border-top:0;margin-top:8px}body.light-mode .smile{border-color:#2b2b2b}.page{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 1rem;min-height:350px;overflow:hidden;transform:translateY(30px) scale(.95)}.page.active{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.about-tabs{position:absolute;top:40px;left:10px;display:flex;gap:1rem;padding:.5rem;z-index:10}.about-tab{color:#fff;font-size:.85rem;padding:.3rem .6rem;cursor:pointer;transition:all .3s ease;opacity:.7;background:transparent;border:none;font-family:Fira Code,monospace;position:relative}.about-tab:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--text-primary);transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.about-tab:hover:before,.about-tab.active:before{transform:scaleX(1)}.about-tab:hover,.about-tab.active{opacity:1;color:#fff;text-decoration:underline}body.light-mode .about-tab{color:var(--text-dark)}body.light-mode .about-tab:before{background:var(--text-dark)}body.light-mode .about-tab:hover,body.light-mode .about-tab.active{color:var(--text-dark)}.about-content{margin-top:3rem;max-width:800px;text-align:left;width:100%;font-family:Fira Code,monospace;padding:1rem;position:relative;max-height:calc(75vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-accent) transparent}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:0;width:100%}.about-content .events-grid{padding:0}.project-preview{width:100%;height:auto;max-height:none;margin-top:1rem;overflow:visible}.project-main-img{width:100%;height:100%;max-height:300px;object-fit:contain!important;border-radius:10px;display:block;margin:0 auto}.project-thumbnails{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.project-thumb{width:60px;height:60px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:.2s ease}.project-thumb:hover{border-color:#0ff}.event-card{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:visible;cursor:pointer;min-height:300px;display:flex;flex-direction:column}.event-card.featured{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}.project-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.github-btn{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);text-decoration:none;font-size:.9rem;padding:.4rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;transition:all .2s ease}.github-btn:hover{background:#ffffff1a;border-color:#0ff;color:#0ff;transform:translateY(-2px);box-shadow:0 4px 12px #00ffff1a}body.light-mode .project-footer{border-top-color:#0000001a}body.light-mode .github-btn{color:var(--text-primary);border-color:#0003;background:#0000000d}body.light-mode .github-btn:hover{background:#0000001a;border-color:#05c;color:#05c;box-shadow:0 4px 12px #0055cc1a}.event-image-container{position:relative;overflow:hidden;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:#0003;min-height:200px;max-height:400px;display:flex;flex-direction:column;flex-shrink:0}.event-card:not(.featured) .event-image-container{height:auto;max-height:300px}.event-image{width:100%;height:calc(100% - 82px);object-fit:contain;background:#0006;padding:8px;transition:opacity .3s ease}.image-gallery{display:flex;gap:.5rem;padding:.5rem;background:#0000004d;margin-top:auto;justify-content:center;height:82px;align-items:center}.gallery-thumb{width:60px;height:60px;border-radius:2px;border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s ease;object-fit:cover;opacity:.7;background:#0003;padding:2px}.gallery-thumb.active{border-color:#fffc;opacity:1}.gallery-thumb:hover{border-color:#ffffff4d;transform:scale(1.05);box-shadow:0 2px 8px #0003;opacity:.9}body.light-mode .gallery-thumb.active{border-color:#000c}body.light-mode .event-image-container{border-color:#0000001a;background:#ffffff1a}body.light-mode .image-gallery{background:#0000000d}body.light-mode .gallery-thumb{border-color:#0000001a}body.light-mode .gallery-thumb:hover{border-color:#0003}.event-content{display:flex;flex-direction:column;gap:.8rem;flex:1;min-height:0}.event-description{font-size:.9rem;color:var(--text-accent);line-height:1.6;margin:1rem 0;opacity:.9}.event-achievement{color:#0f0;font-size:.9rem;margin-top:auto;opacity:.9}.event-title{font-size:1.2rem;color:var(--text-primary);margin-bottom:1rem;font-family:Fira Code,monospace}.event-details{font-size:.9rem;color:var(--text-accent);margin-bottom:.5rem}.event-status{position:absolute;bottom:1rem;right:1rem;font-size:.8rem;color:#0f0;opacity:.8}body.light-mode .event-card{background:#aaac;border-color:#0003}body.light-mode .event-card:hover{border-color:#0000004d;background:#bbbbbbe6}@media (max-width: 768px){.event-card.featured{grid-template-columns:1fr}.event-image-container{min-height:300px;height:400px}.event-image{height:calc(100% - 82px)}}@media (max-width: 768px){.events-grid{grid-template-columns:1fr;padding:.5rem}}.about-content::-webkit-scrollbar{width:6px}.about-content::-webkit-scrollbar-track{background:transparent}.about-content::-webkit-scrollbar-thumb{background-color:var(--text-accent);border-radius:3px}.about-content#personal-content{padding-right:1.5rem}.about-content .code-line{display:flex;gap:1rem;margin-bottom:.5rem;opacity:0;transform:translateY(20px);animation:fadeUpIn .6s cubic-bezier(.4,0,.2,1) forwards;position:relative;padding:.2rem 0}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-content .code-line:nth-child(1){animation-delay:.1s}.about-content .code-line:nth-child(2){animation-delay:.15s}.about-content .code-line:nth-child(3){animation-delay:.2s}.about-content .code-line:nth-child(4){animation-delay:.25s}.about-content .code-line:nth-child(5){animation-delay:.3s}.about-content .code-line:nth-child(6){animation-delay:.35s}.about-content .code-line:nth-child(7){animation-delay:.4s}.about-content .code-line:nth-child(8){animation-delay:.45s}.about-content .code-line:nth-child(9){animation-delay:.5s}.about-content .code-line:nth-child(10){animation-delay:.55s}.about-content .code-line:nth-child(11){animation-delay:.6s}.about-content .line-number{color:#666;min-width:2.5ch;text-align:right;-webkit-user-select:none;user-select:none;opacity:.7;font-size:.9em}.about-content .code-text{color:#fff;position:relative;padding-left:1rem}.about-content .code-text:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:#ffffff1a;transform:scaleY(0);transition:transform .3s ease;transform-origin:top}.about-content .code-line:hover .code-text:before{transform:scaleY(1)}.about-content .keyword{color:#ccc;font-weight:500}.about-content .string{color:#fff;opacity:.9}body.light-mode .about-content .code-text:before{background:#0000000d}body.light-mode .about-content .code-text{color:#2b2b2b}body.light-mode .about-content .keyword{color:#05c;font-weight:500}body.light-mode .about-content .string{color:#007a4d}body.light-mode .about-content .line-number{color:#999}.name{font-family:monospace;font-size:1.2rem;font-weight:400;color:#e0e0e0;text-shadow:none;margin-bottom:1.5rem;letter-spacing:0;display:block;white-space:pre;line-height:1;text-transform:none;border:none;animation:none}.ascii-art{display:block;margin:0 auto 1.5rem;font-family:monospace;white-space:pre;line-height:1;color:#fff;font-size:14px;text-align:center;opacity:1}.tagline{font-size:1.3rem;max-width:80%;margin:0 auto 1.5rem;color:#ccc;line-height:1.6;text-align:left;min-height:100px;position:relative;overflow:hidden;opacity:.8}.typewriter-container{position:relative;width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;gap:1rem}.typewriter{display:inline-block;white-space:pre-wrap;width:100%;position:relative;clip-path:inset(0 100% 0 0)}.typewriter.first-line{animation:typing 2s steps(30) forwards}.typewriter.second-line{animation:typing 3s steps(40) 2s forwards}.line-wrapper{position:relative;display:inline-block;width:100%}.cursor{position:absolute;width:2px;height:1.4em;background-color:#fff;animation:blink .75s step-end infinite;z-index:2;top:50%;transform:translateY(-50%)}@keyframes typing{to{clip-path:inset(0 0 0 0)}}@keyframes blink{0%,to{opacity:0}50%{opacity:1}}.nav{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:.3rem;z-index:10;background:#000000f2;padding:.4rem;border-radius:0;width:auto;justify-content:center;border:1px solid rgba(255,255,255,.1)}.nav a{text-decoration:none;color:#ccc;font-size:.85rem;padding:.2rem .4rem;transition:all .3s ease;position:relative;text-transform:lowercase;white-space:nowrap;opacity:.7}.nav a.active,.nav a:hover,.nav a:first-child{background:#ffffff1a;color:#fff;opacity:1}.stats{position:absolute;bottom:1rem;right:1.5rem;font-size:.9rem;color:#ccc;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;z-index:10;opacity:.8}.stats-message{width:100%;text-align:center;margin-top:.5rem;font-size:.85rem;letter-spacing:.03em;color:var(--text-accent)}body.light-mode .stats-message{color:var(--text-dark)}.stats-text{display:flex;gap:1rem;font-family:Fira Code,monospace;font-size:.8rem}@media (max-width: 480px){.terminal-content{padding:.8rem .5rem}.stats{display:none}.ascii-art{font-size:10px;margin-bottom:2rem;transform:scale(.9)}.tagline{font-size:.9rem;line-height:1.6;margin:0 auto 1rem;padding:0 .5rem;max-width:100%;text-align:center;min-height:auto}.typewriter-container{gap:.8rem}.typewriter.first-line{font-size:1.1rem;font-weight:500}.typewriter.second-line{font-size:.85rem;line-height:1.5}.about-content{max-height:calc(85vh - 140px);margin-top:2.5rem}.about-content .code-line{gap:.8rem;margin-bottom:.4rem;padding:.2rem 0}.about-content .line-number{min-width:2.2ch;font-size:.8em;opacity:.7}.about-content .code-text{padding-left:.8rem;line-height:1.4}.nav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;max-width:92%;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;padding:.5rem}.nav::-webkit-scrollbar{display:none}.nav a{font-size:.8rem;padding:.3rem .6rem;opacity:.8;flex-shrink:0}.terminal{width:95%;height:80vh}}@media (max-width: 360px){.ascii-art{font-size:8px;transform:scale(.85)}.typewriter.first-line{font-size:1rem}.typewriter.second-line{font-size:.8rem}.about-content{font-size:.8rem;padding:.25rem}.nav{padding:.3rem;gap:.3rem}.nav a{font-size:.75rem;padding:.12rem .3rem}}@media (max-width: 480px) and (orientation: portrait){.terminal{height:85vh}.about-content{margin-top:2rem}.typewriter-container{margin-top:1rem}}@media (max-width: 480px) and (orientation: landscape){.terminal{height:90vh}.ascii-art{margin-bottom:1rem;transform:scale(.8)}.about-content{margin-top:.5rem}.typewriter-container{gap:.5rem}.about-content .code-line{margin-bottom:.2rem}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:1rem;width:100%}.project-card{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer;min-height:250px;display:flex;flex-direction:column}.project-tech{color:#fff;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-links{display:flex;gap:1rem;margin-top:auto}.project-link{color:var(--text-accent);text-decoration:none;font-size:.9rem;opacity:.8;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.project-link i{font-size:1.1rem;width:20px;text-align:center}.project-link:hover{opacity:1;color:var(--text-primary);transform:translate(5px)}.project-link:hover i{transform:scale(1.1)}.project-status{position:absolute;top:1rem;right:1rem;font-size:.8rem;color:#0f0;opacity:.8}.project-card.featured{grid-column:1 / -1;display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;padding:2rem}.project-preview{background:#0003;border-radius:4px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.project-preview img{max-width:100%;height:auto;border-radius:2px}body.light-mode .project-card{background:#aaac;border-color:#0003}body.light-mode .project-card:hover{border-color:#0000004d;background:#bbbbbbe6}body.light-mode .tech-tag{background:#0000000d}@media (max-width: 768px){.project-card.featured{grid-template-columns:1fr}.projects-grid{grid-template-columns:1fr;padding:.5rem}}.project-preview{height:auto;margin:1rem 0;border-radius:4px;overflow:hidden;position:relative;background:#0003}.preview-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .preview-image{transform:scale(1.05)}.preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .preview-overlay{opacity:1}.terminal-line{color:#0f0;font-family:Fira Code,monospace;border-right:2px solid #00ff00;padding-right:8px;animation:blink 1s step-end infinite}body.light-mode .project-preview,body.light-mode .preview-placeholder{background:#0000000d}.links-container{width:100%;max-width:1200px;margin:0 auto;padding:20px;max-height:calc(75vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-accent) transparent}.links-container::-webkit-scrollbar{width:6px}.links-container::-webkit-scrollbar-track{background:transparent}.links-container::-webkit-scrollbar-thumb{background-color:var(--text-accent);border-radius:3px}.links-container{padding-right:1.5rem}body.light-mode .links-container{scrollbar-color:rgba(0,0,0,.2) transparent}body.light-mode .links-container::-webkit-scrollbar-thumb{background-color:#0003}.links-section{margin-bottom:40px}.terminal-header-text{font-family:Fira Code,monospace;font-size:1.2rem;color:var(--text-primary);margin-bottom:20px;padding-left:10px;border-left:3px solid #00ff00;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.social-card{position:relative;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:20px;color:var(--text-primary);text-decoration:none;overflow:hidden;transition:all .3s ease;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards}.social-card:hover{transform:translateY(-5px);border-color:#ffffff4d}.card-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px}.card-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(0,0,0,.2),transparent);opacity:0;transition:opacity .3s ease}.social-card:hover .card-bg{opacity:1}.social-card i{font-size:2rem;margin-bottom:10px;transition:transform .3s ease}.social-card:hover i{transform:scale(1.1)}.platform-name{font-size:1.1rem;font-weight:500}.username{font-size:.9rem;opacity:.8}.card-footer{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:.8rem;opacity:.8}.status-dot{width:8px;height:8px;background:#0f0;border-radius:50%;animation:pulse 2s infinite}.arrow{margin-left:auto;transition:transform .3s ease}.social-card:hover .arrow{transform:translate(5px)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.contact-card{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards}.contact-card a{text-decoration:none;color:var(--text-primary);display:flex;padding:20px;gap:20px;transition:all .3s ease}.contact-card:hover{transform:translateY(-5px);border-color:#ffffff4d}.icon-container{width:50px;height:50px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.contact-card:hover .icon-container{transform:scale(1.1);background:#fff3}.icon-container i{font-size:1.5rem}.contact-details{flex-grow:1;display:flex;flex-direction:column;gap:5px}.contact-type{font-size:1.1rem;font-weight:500}.contact-value{font-size:.9rem;opacity:.8}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.github:hover{border-color:#6e5494}.linkedin:hover{border-color:#0077b5}.twitter:hover{border-color:#1da1f2}.facebook:hover{border-color:#4267b2}.discord:hover{border-color:#7289da}.email:hover{border-color:#ea4335}.phone:hover{border-color:#0f0}.reddit:hover{border-color:#ff4500}body.light-mode .social-card,body.light-mode .contact-card{background:#aaac;border-color:#0003}body.light-mode .social-card:hover,body.light-mode .contact-card:hover{background:#bbbbbbe6;border-color:#0000004d}body.light-mode .icon-container{background:#0000000d}body.light-mode .contact-card:hover .icon-container{background:#0000001a}.social-card:nth-child(1){animation-delay:.1s}.social-card:nth-child(2){animation-delay:.2s}.social-card:nth-child(3){animation-delay:.3s}.social-card:nth-child(4){animation-delay:.4s}.social-card:nth-child(5){animation-delay:.5s}.contact-card:nth-child(1){animation-delay:.5s}.contact-card:nth-child(2){animation-delay:.6s}.contact-card:nth-child(3){animation-delay:.7s}@media (max-width: 768px){.links-grid,.contact-grid{grid-template-columns:1fr}.social-card,.contact-card{margin-bottom:15px}.terminal-header-text{font-size:1rem}}.project-preview{position:relative;height:auto;margin:1rem 0;border-radius:4px;overflow:hidden;background:#0003}body.light-mode .project-preview{background:#0000000d}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;padding:1rem}.milestone-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);padding:1.2rem;border-radius:10px;display:flex;flex-direction:column;justify-content:space-between;color:var(--text-primary);transition:transform .3s ease}.milestone-box:hover{transform:translateY(-4px)}.milestone-title{font-size:1rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.big-number{font-size:2.2rem;font-weight:700;margin:.4rem 0}.milestone-comment{font-size:.85rem;opacity:.8;margin-top:.6rem}.milestone-progress{display:flex;flex-direction:column}.milestone-numbers{font-size:1.1rem;margin-bottom:.3rem}.progress-bar{background:#ffffff14;height:10px;border-radius:20px;overflow:hidden}#leetcode-bar{height:100%;width:0;background-color:#00e676;transition:width 1.5s ease-in-out}.progress-bar .fill{background:#f7c32e;height:100%;width:0;transition:width 1s ease-in-out}.badge-list{display:flex;flex-wrap:wrap;gap:.4rem}.badge{background:#1e7f3c;color:#fff;font-size:.75rem;padding:.25rem .6rem;border-radius:12px}.hackathon-list{display:flex;flex-direction:column;gap:.8rem;margin:.8rem 0}.hackathon-entry{background:#ffffff08;padding:.8rem;border-radius:6px;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.hackathon-entry:hover{background:#ffffff0d;border-color:#ffffff1a}.hackathon-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.hackathon-achievement{font-size:.85rem;color:#0f0;font-weight:500;margin-bottom:.5rem}.hackathon-details{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;opacity:.85}.hackathon-project{color:var(--text-accent)}.hackathon-venue{color:var(--text-accent);font-size:.75rem}body.light-mode .hackathon-entry{background:#00000008;border-color:#00000014}body.light-mode .hackathon-entry:hover{background:#0000000d;border-color:#0000001f}body.light-mode .hackathon-achievement{color:#007a4d}.event-list{list-style:disc inside;font-size:.9rem;padding-left:1rem;margin:.5rem 0}.report-card{background:#00ffff0d;padding:.5rem;text-align:center;border-radius:8px}.grade{font-size:2rem;font-weight:700;color:#0ff}.label{font-size:.85rem;opacity:.7}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;padding:1rem}.skill-cert-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform .3s ease}.skill-cert-card:hover{transform:translateY(-5px);box-shadow:0 0 12px #00ffff26}body.light-mode .skill-cert-card{background:#aaac;border-color:#0003}body.light-mode .skill-cert-card:hover{background:#bbbbbbe6;box-shadow:0 0 12px #0003}.skill-cert-title{font-size:1.3rem;font-weight:600;color:var(--text-accent)}.certification-entry{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:4px 0}.certification-entry span{flex:1;padding-right:10px}.certification-entry button{background-color:#0ff;color:#000;border:none;padding:4px 10px;font-size:.8rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.certification-entry button:hover{background-color:#0dd}.cert-logo{width:18px;height:18px;vertical-align:middle;margin-right:8px;border-radius:3px;object-fit:contain}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1rem;width:100%;max-height:calc(75vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-accent) transparent}.projects-grid::-webkit-scrollbar{width:6px}.projects-grid::-webkit-scrollbar-track{background:transparent}.projects-grid::-webkit-scrollbar-thumb{background-color:var(--text-accent);border-radius:3px}.projects-grid{padding-right:1.5rem}.project-card{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:visible;cursor:pointer;min-height:auto;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000004d;border-color:#fff3}.animate-card{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease forwards}.animate-card:nth-child(1){animation-delay:.2s}.animate-card:nth-child(2){animation-delay:.4s}.animate-card:nth-child(3){animation-delay:.6s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-title{font-size:1.2rem;color:#fff;margin-bottom:1rem;font-family:Fira Code,monospace;display:flex;align-items:center;gap:.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background:#ffffff1a;padding:.2rem .5rem;border-radius:2px;font-size:.8rem;color:var(--text-accent)}.project-preview{margin:1rem 0;border-radius:4px;overflow:hidden;position:relative;background:#0003;display:flex;align-items:center;justify-content:center}.preview-video{width:100%;height:auto;object-fit:contain;border-radius:4px;transition:transform .3s ease}.project-card:hover .preview-video{transform:scale(1.05)}.preview-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:#0000004d}.terminal-animation{display:flex;flex-direction:column;align-items:center;gap:.5rem}.terminal-animation .line{color:#0f0;font-family:Fira Code,monospace;opacity:0;animation:typingAnimation 2s ease-out forwards}.terminal-animation .line:nth-child(1){animation-delay:.5s}.terminal-animation .line:nth-child(2){animation-delay:1.5s}.terminal-animation .line:nth-child(3){animation-delay:2.5s}@keyframes typingAnimation{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.future-animation{position:relative;height:100%;overflow:hidden}.code-rain{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,255,0,.1) 0%,rgba(0,255,0,.05) 50%,transparent 100%);animation:rainAnimation 20s linear infinite}.future-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#0f0;font-family:Fira Code,monospace;font-size:1.2rem;text-shadow:0 0 10px rgba(0,255,0,.5);animation:pulseAnimation 2s ease-in-out infinite}@keyframes rainAnimation{0%{background-position:0 0}to{background-position:0 1000px}}@keyframes pulseAnimation{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.project-description{font-size:.9rem;color:#fff;line-height:1.6;margin:1rem 0;flex-grow:1}.feature-list{margin:.5rem 0;padding-left:1.2rem;font-size:.9rem}.feature-list li::marker{color:#0ff}body.light-mode .project-card{background:#ffffffe6;border-color:#0000001a}body.light-mode .project-card:hover{border-color:#0003;background:#fff}body.light-mode .tech-tag,body.light-mode .project-preview,body.light-mode .preview-placeholder{background:#0000000d}body.light-mode .terminal-line,body.light-mode .terminal-animation .line,body.light-mode .future-text{color:#007a4d}body.light-mode .code-rain{background:linear-gradient(180deg,rgba(0,122,77,.1) 0%,rgba(0,122,77,.05) 50%,transparent 100%)}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;padding:.5rem 1rem .5rem .5rem}}body.light-mode .projects-grid{scrollbar-color:rgba(0,0,0,.2) transparent}body.light-mode .projects-grid::-webkit-scrollbar-thumb{background-color:#0003}.projects-grid{grid-template-columns:1fr;max-width:1100px;margin:0 auto;gap:3rem}.project-card{display:flex!important;flex-direction:row;align-items:flex-start;gap:3rem;padding:2.5rem;min-height:auto!important;overflow:visible!important;background:#0a0a0a99;border:1px solid rgba(255,255,255,.08)}body.light-mode .project-card{background:#fffc;border-color:#0000001a}.project-media{flex:0 0 45%;min-width:0;position:relative}.project-content-col{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding-top:.5rem}.project-preview{width:100%;height:auto!important;min-height:300px;max-height:650px!important;background:transparent;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 20px 40px #0006;display:flex;align-items:center;justify-content:center;margin:0;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.1)}.project-card:hover .project-preview{transform:translateY(-8px);box-shadow:0 30px 60px #00c8ff26;border-color:#00ffff4d}.preview-video,.preview-image{width:100%!important;height:100%!important;object-fit:contain!important;max-height:650px;background:#000}.project-title{font-size:2.2rem;margin-bottom:.5rem;font-weight:700;background:linear-gradient(90deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.light-mode .project-title{background:linear-gradient(90deg,#222,#444);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.project-description{font-size:1rem;line-height:1.7;opacity:.9;color:var(--text-primary)}.project-tech{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.5rem}.tech-tag{padding:.4rem .8rem;font-size:.85rem;border-radius:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#0ff}body.light-mode .tech-tag{background:#0000000d;border-color:#0000001a;color:#007a4d}.project-footer{margin-top:auto;padding-top:1rem}.project-status{display:inline-block;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;background:#00ff001a;color:#0f0;border:1px solid rgba(0,255,0,.2)}@media (max-width: 900px){.project-card{flex-direction:column;gap:2rem;padding:1.5rem}.project-media{width:100%;flex:none}.project-preview{max-height:500px;min-height:auto}.project-content-col{width:100%}}.animate-fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.terminal-bot{position:absolute;font-family:Fira Code,monospace;color:#0f0;display:flex;flex-direction:column;align-items:center;transition:none;z-index:20}.bot-character{display:flex;flex-direction:column;align-items:center;line-height:1.1;font-weight:700;text-shadow:0 0 5px rgba(0,255,0,.5);transform-origin:center;transition:transform .2s ease}.bot-character.facing-left,.bot-character.facing-left .bot-bubble{transform:scaleX(-1)}.bot-head,.bot-body,.bot-legs{white-space:pre}.bot-bubble{position:absolute;bottom:100%;margin-bottom:10px;background:#001400e6;border:1px solid #00ff00;padding:8px 12px;border-radius:8px 8px 8px 0;color:#0f0;font-size:.8rem;white-space:nowrap;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 10px #0f03}.facing-left .bot-bubble{transform:scaleX(-1);border-radius:8px 8px 0;left:auto;right:0}@keyframes popIn{0%{transform:scale(0) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes botDance{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-5px) rotate(5deg)}to{transform:translateY(0) rotate(0)}}.terminal-bot.dancing .bot-body{animation:botDance .5s infinite ease-in-out}.terminal-bot.dancing .bot-head{animation:botDance .5s infinite ease-in-out reverse}@keyframes botBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.terminal-bot.running{animation:botBounce .3s infinite ease-in-out}.about-container{width:100%;max-width:1000px;margin:0 auto;padding:2rem;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-accent) transparent;justify-content:flex-start;align-items:stretch}.about-container::-webkit-scrollbar{width:6px}.about-container::-webkit-scrollbar-track{background:transparent}.about-container::-webkit-scrollbar-thumb{background-color:var(--text-accent);border-radius:3px}.about-wrapper{display:flex;flex-direction:column;gap:3rem;padding-bottom:4rem;width:100%}.about-header{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.ascii-face pre{font-size:.8rem;color:var(--text-accent);line-height:1.2;font-weight:700}.header-info h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text-primary)}.header-info .subtitle{font-size:1.2rem;color:var(--text-accent);margin-bottom:1rem;opacity:.9}.meta-info{display:flex;gap:1.5rem;font-size:.9rem;opacity:.8}.divider{border:0;height:1px;background:#ffffff2e;width:100%}body.light-mode .divider{background:#0000002e}.section-title{font-family:Fira Code,monospace;font-size:1.3rem;color:var(--text-primary);margin-bottom:1.5rem;background:#ffffff0d;padding:.5rem 1rem;border-radius:4px;display:block}body.light-mode .section-title{background:#0000000f}.prompt{color:var(--text-accent);margin-right:.8rem}.section-content p{line-height:1.7;margin-bottom:1rem;font-size:1.05rem;color:#ffffffe6;max-width:800px}body.light-mode .section-content p{color:var(--text-dark)}.timeline{border-left:2px solid rgba(255,255,255,.25);padding-left:2rem;margin-left:1rem}body.light-mode .timeline{border-left-color:#0003}.timeline-item{position:relative;margin-bottom:2rem}.timeline-marker{position:absolute;left:-2.4rem;top:5px;width:12px;height:12px;background:var(--text-accent);border-radius:50%;box-shadow:0 0 10px var(--text-accent)}.timeline-title{font-size:1.2rem;color:var(--text-primary);margin-bottom:.3rem}.timeline-date{font-family:Fira Code,monospace;font-size:.85rem;color:var(--text-accent);margin-bottom:.8rem}.timeline-desc{opacity:.8;line-height:1.5}.skills-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.skill-category-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);padding:1.2rem;border-radius:8px;transition:transform .2s ease,border-color .2s ease}body.light-mode .skill-category-card{background:#0000000a;border-color:#0000001f}.skill-category-card:hover{transform:translateY(-3px);border-color:#ffffff40}body.light-mode .skill-category-card:hover{border-color:#00000038}.category-header{font-family:Fira Code,monospace;font-size:1rem;color:var(--text-accent);margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:.5rem}body.light-mode .category-header{border-bottom-color:#0000001f}.skill-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skill-badge{background:#ffffff14;padding:.4rem .8rem;border-radius:4px;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:background .2s}body.light-mode .skill-badge{background:#0000000f}.skill-badge:hover{background:#ffffff26}body.light-mode .skill-badge:hover{background:#0000001f}.skill-icon{width:16px;height:16px;object-fit:contain}.security-badges{display:flex;gap:1.5rem;flex-wrap:wrap}.security-item{display:flex;align-items:center;gap:.8rem;background:linear-gradient(90deg,rgba(0,200,100,.12),transparent);padding:.8rem 1.2rem;border-radius:6px;border-left:3px solid #00cc66}body.light-mode .security-item{background:linear-gradient(90deg,rgba(0,130,60,.1),transparent);border-left-color:#007a38}.sec-icon{font-size:1.2rem}@media (max-width: 768px){.about-container{padding:1.2rem}.about-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-info h1{font-size:1.8rem}.section-title{font-size:1.1rem}.skills-layout-grid{grid-template-columns:1fr}.timeline{padding-left:1.5rem}.timeline-marker{left:-1.9rem}.security-badges{flex-direction:column}}.page-outlet{position:absolute;inset:0}.page.active{animation:pageEnter .45s cubic-bezier(.22,1,.36,1)}@keyframes pageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}body.light-mode{background:#f8f8f6!important;--bg-body: #f8f8f6;--bg-terminal: #ffffff;--text-primary: #0a0a0a;--text-accent: #525252;--text-dark: #0a0a0a}body.light-mode .terminal{background:#fff!important;border:1px solid rgba(0,0,0,.09)!important;box-shadow:0 8px 48px #0000001a!important}body.light-mode .terminal-header{background:#f0f0ee!important;border-bottom:1px solid rgba(0,0,0,.08)!important}body.light-mode .terminal-header .title{color:#0a0a0a!important}body.light-mode .terminal-content{background:#fafaf8!important}body.light-mode .terminal-header .window-buttons .wb-close{background:#ff5f56!important;border-color:#e0443e!important}body.light-mode .terminal-header .window-buttons .wb-minimise{background:#ffbd2e!important;border-color:#dea123!important}body.light-mode .terminal-header .window-buttons .wb-maximise{background:#27c93f!important;border-color:#1aab29!important}body.light-mode .nav{background:#f0f0eef5!important;border:1px solid rgba(0,0,0,.09)!important}body.light-mode .nav a{color:#525252!important}body.light-mode .nav a.active,body.light-mode .nav a:hover{color:#0f6e56!important;background:#0f6e5614!important}body.light-mode .nav a:first-child{background:transparent!important}body.light-mode .nav a:first-child:hover{color:#0f6e56!important;background:#0f6e5614!important}body.light-mode .prompt-prefix,body.light-mode .alert-link{color:#0f6e56!important}body.light-mode .ascii-art{color:#0a0a0a!important}#home{justify-content:center;align-items:center;overflow:visible}.home-content{display:flex;flex-direction:column;align-items:center;gap:.6rem;position:relative;z-index:1;max-width:100%;padding-bottom:1rem}.hero-ctas{display:flex;gap:.8rem;margin-top:.4rem;flex-wrap:wrap;justify-content:center}.cta-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem 1rem;font-family:Fira Code,monospace;font-size:.88rem;text-decoration:none;border:1px solid rgba(255,255,255,.22);border-radius:3px;transition:all .2s ease;cursor:pointer;letter-spacing:.2px}.cta-secondary{color:var(--text-accent);background:#ffffff08}.cta-secondary:hover{color:var(--text-primary);border-color:#ffffff73;background:#ffffff12}.cta-primary{color:#0ff;border-color:#00ffff59;background:#00ffff0a}.cta-primary:hover{background:#00ffff1a;border-color:#0ff;box-shadow:0 0 20px #00ffff2e}body.light-mode .cta-secondary{color:#525252;border-color:#0000002e;background:#00000005}body.light-mode .cta-secondary:hover{color:#0a0a0a;border-color:#00000059}body.light-mode .cta-primary{color:#0f6e56;border-color:#0f6e5659;background:#0f6e560a}body.light-mode .cta-primary:hover{background:#0f6e561a;border-color:#0f6e56;box-shadow:0 0 16px #0f6e562e}.cta-bracket{opacity:.55;transition:opacity .15s,transform .15s}.cta-btn:hover .cta-bracket:first-child{transform:translate(-2px);opacity:1}.cta-btn:hover .cta-bracket:last-child{transform:translate(2px);opacity:1}.cta-arrow{transition:transform .15s}.cta-btn:hover .cta-arrow{transform:translate(3px)}.availability-alert{display:flex;align-items:center;gap:.7rem;background:#00ffff08;border:1px solid rgba(0,255,255,.18);border-radius:3px;padding:.45rem .75rem;margin-top:.3rem;font-size:.8rem;color:#ffffffb3;max-width:580px;width:100%}body.light-mode .availability-alert{background:#0f6e560a;border-color:#0f6e5633;color:#525252}.alert-text{flex:1;font-family:Fira Code,monospace}.alert-link{color:#0ff;text-decoration:underline;transition:opacity .15s}.alert-link:hover{opacity:.8}.alert-dismiss{background:none;border:none;color:var(--text-accent);cursor:pointer;font-size:1rem;padding:0;line-height:1;opacity:.55;transition:opacity .15s;flex-shrink:0}.alert-dismiss:hover{opacity:1}.availability-badge{position:absolute;bottom:10px;left:14px;display:flex;align-items:center;gap:.45rem;background:#0000008c;border:1px solid rgba(0,220,80,.28);border-radius:20px;padding:.28rem .72rem;font-size:.73rem;color:#ffffffb8;text-decoration:none;font-family:Fira Code,monospace;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.availability-badge:hover{border-color:#00dc508c;color:#fff;background:#00dc5012}body.light-mode .availability-badge{background:#ffffffb3;border-color:#0f6e5659;color:#0a0a0a}.avail-dot{width:6px;height:6px;border-radius:50%;background:#00e060;box-shadow:0 0 5px #00e060;animation:pulseDot 2s ease-in-out infinite;flex-shrink:0}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.terminal-input-area{position:absolute;bottom:70px;left:14px;right:14px;max-height:180px;max-width:1200px;display:flex;flex-direction:column;font-family:Fira Code,monospace;font-size:.8rem;z-index:15}.terminal-output{overflow-y:auto;max-height:110px;scrollbar-width:thin;scrollbar-color:rgba(0,255,255,.25) transparent;margin-bottom:3px}.output-line{padding:1px 0;line-height:1.5;white-space:pre-wrap;word-break:break-word}.output-prompt{color:#ffffff6b}.output-success{color:#00ffbed1}.output-error{color:#ff4b4be0}.output-info{color:#fff9}body.light-mode .output-prompt{color:#aaa}body.light-mode .output-success{color:#0f6e56}body.light-mode .output-error{color:#c33}body.light-mode .output-info{color:#555}.terminal-prompt-row{display:flex;align-items:center;gap:.4rem;border-top:1px solid rgba(255,255,255,.07);padding-top:4px}body.light-mode .terminal-prompt-row{border-top-color:#00000017}.prompt-prefix{color:#0ff;white-space:nowrap;flex-shrink:0;font-size:.77rem;opacity:.85}.terminal-prompt-input{background:none;border:none;outline:none;color:var(--text-primary);font-family:Fira Code,monospace;font-size:.8rem;flex:1;caret-color:transparent;min-width:0}.prompt-cursor{display:inline-block;width:7px;height:.9em;background:#0ff;opacity:.75;animation:blinkCursor 1.1s step-end infinite;vertical-align:text-bottom;flex-shrink:0}body.light-mode .prompt-cursor{background:#0f6e56}@keyframes blinkCursor{0%,to{opacity:.75}50%{opacity:0}}.matrix-rain{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;pointer-events:none}.skeleton-box{opacity:1}.skeleton-line{border-radius:4px;height:14px;margin-bottom:10px;background:linear-gradient(90deg,#00ffff14,#00ffff2e,#00ffff14);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}body.light-mode .skeleton-line{background:linear-gradient(90deg,#0f6e5612,#0f6e5629,#0f6e5612);background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-title{width:55%;height:13px}.skeleton-number{width:38%;height:30px;margin:8px 0}.skeleton-comment{width:75%;height:11px}.not-found-page{justify-content:center!important;align-items:center!important}.not-found-content{max-width:480px;width:100%;font-family:Fira Code,monospace}.not-found-line{margin-bottom:.4rem;color:var(--text-primary)}.not-found-error{color:#ff5050e0;margin-bottom:1.5rem}.not-found-paths-header{color:var(--text-accent);margin-bottom:.5rem}body.light-mode .not-found-error{color:#c33}.not-found-paths{display:flex;flex-direction:column;gap:.3rem;margin-bottom:2rem}.not-found-paths a{color:var(--text-accent);text-decoration:none;transition:color .2s;font-size:.9rem;display:block}.not-found-paths a:hover{color:#0ff}body.light-mode .not-found-paths a:hover{color:#0f6e56}.not-found-home-btn{color:#0ff;text-decoration:none;border:1px solid rgba(0,255,255,.3);padding:.45rem 1rem;border-radius:3px;display:inline-block;transition:all .2s;font-family:Fira Code,monospace}.not-found-home-btn:hover{background:#00ffff14;border-color:#0ff}body.light-mode .not-found-home-btn{color:#0f6e56;border-color:#0f6e5659}.terminal-header .window-buttons span{cursor:pointer}@keyframes terminalShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.terminal.terminal-shake{animation:terminalShake .5s ease}@keyframes terminalMinimise{0%{transform:scale(1)}35%{transform:scale(.6) translateY(10%)}60%{transform:scale(.65) translateY(8%)}to{transform:scale(1)}}.terminal.minimised{animation:terminalMinimise .7s cubic-bezier(.34,1.56,.64,1)}.terminal-flash{position:absolute;inset:0;background:#00ffff12;z-index:9998;pointer-events:none;animation:flashFade .4s ease forwards}@keyframes flashFade{0%{opacity:1}to{opacity:0}}.currently-learning{display:flex;flex-direction:column;gap:.7rem}.learning-item{display:flex;align-items:flex-start;gap:.8rem;padding:.65rem 1rem;background:#ffffff08;border-radius:5px;border-left:3px solid rgba(0,255,255,.25);font-size:.93rem;line-height:1.5;color:#ffffffc7}body.light-mode .learning-item{background:#00000005;border-left-color:#0f6e5659;color:#3a3a3a}.learning-icon{font-size:1.05rem;flex-shrink:0;margin-top:2px}.divider{position:relative;border:none;height:1px;margin:1.5rem 0;overflow:visible}.divider:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:1px;background:#ffffff2e;animation:dividerGrow .5s ease-out .1s forwards}body.light-mode .divider:before{background:#0000001f}@keyframes dividerGrow{to{width:100%}}.divider:after{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%);width:7px;height:7px;border-radius:50%;background:#00ffff73;animation:dotPulse 2.2s ease-in-out .6s infinite}body.light-mode .divider:after{background:#0f6e5673}@keyframes dotPulse{0%,to{opacity:.45;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.35)}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}.reveal.revealed{opacity:1;transform:none}:focus-visible{outline:2px solid #00ffff;outline-offset:2px;border-radius:2px}body.light-mode :focus-visible{outline-color:#0f6e56}.skip-to-content{position:absolute;top:-100px;left:8px;z-index:9999;background:#0ff;color:#000;padding:4px 12px;border-radius:4px;font-size:.9rem;text-decoration:none;font-family:Fira Code,monospace;transition:top .2s}.skip-to-content:focus{top:8px}.nav-external{display:inline-flex!important;align-items:center}@media (max-width: 768px){.hero-ctas{gap:.5rem}.cta-btn{font-size:.78rem;padding:.38rem .65rem}.availability-badge{font-size:.66rem;padding:.22rem .55rem;bottom:42px}.terminal-input-area{font-size:.74rem;bottom:42px}.home-content{gap:.5rem}.availability-alert{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.page.active,.avail-dot,.skeleton-line{animation:none!important}.divider:before{animation:none!important;width:100%}.divider:after{animation:none!important}.terminal-bot .advanced{animation:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}}.project-detail-page{overflow-y:auto;padding:0}.project-detail-inner{max-width:960px;margin:0 auto;padding:1rem 1.25rem 3rem}.project-detail-back{background:none;border:none;color:#00ffffb3;font-family:Fira Code,monospace;font-size:.82rem;cursor:pointer;padding:.3rem 0;margin-bottom:1.2rem;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s}.project-detail-back:hover{color:#0ff}body.light-mode .project-detail-back{color:#0f6e56b3}body.light-mode .project-detail-back:hover{color:#0f6e56}.project-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem}@media (max-width: 700px){.project-detail-hero{grid-template-columns:1fr}}.project-detail-media{border-radius:6px;overflow:hidden;border:1px solid rgba(0,255,255,.15);aspect-ratio:16/9;background:#0a0a0a}body.light-mode .project-detail-media{border-color:#0f6e5633;background:#f0f0ee}.detail-video{width:100%;height:100%;object-fit:cover;display:block}.project-detail-hero-info{display:flex;flex-direction:column;gap:.6rem}.project-detail-status{font-size:.72rem;color:#0f0;font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:.08em}body.light-mode .project-detail-status{color:#0f6e56}.project-detail-title{font-size:1.25rem;font-family:Fira Code,monospace;color:#0ff;margin:0;line-height:1.3}body.light-mode .project-detail-title{color:#0a3a2e}.project-detail-tagline{font-size:.85rem;color:#ffffffb8;margin:0;line-height:1.5}body.light-mode .project-detail-tagline{color:#0a0a0aa6}.project-detail-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:#ffffff80;font-family:Fira Code,monospace}body.light-mode .project-detail-meta{color:#0a0a0a73}.meta-label{color:#0ff9;margin-right:.25rem}body.light-mode .meta-label{color:#0f6e56b3}.project-detail-links{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.4rem}.detail-link{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:4px;font-family:Fira Code,monospace;font-size:.78rem;text-decoration:none;transition:opacity .2s}.detail-link:hover{opacity:.75}.detail-link-live{border:1px solid rgba(0,255,255,.45);color:#0ff}body.light-mode .detail-link-live{border-color:#0f6e5673;color:#0f6e56}.case-study-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2rem}@media (max-width: 700px){.case-study-grid{grid-template-columns:1fr}}.case-section{border:1px solid rgba(0,255,255,.12);border-radius:6px;padding:1rem 1.1rem 1.1rem;background:#00ffff06}body.light-mode .case-section{border-color:#0f6e5626;background:#0f6e5608}.case-impact{grid-column:1 / -1}.case-label{font-size:.68rem;font-family:Fira Code,monospace;color:#00ffff80;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem}body.light-mode .case-label{color:#0f6e5699}.case-title{font-size:.95rem;font-family:Fira Code,monospace;color:#e0e0e0;margin:0 0 .6rem}body.light-mode .case-title{color:#1a1a1a}.case-body{font-size:.82rem;color:#ffffffa6;line-height:1.65;margin:0}body.light-mode .case-body{color:#0a0a0a9e}.impact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.impact-item{display:flex;gap:.6rem;font-size:.82rem;color:#ffffffb3;line-height:1.5}body.light-mode .impact-item{color:#0a0a0aa6}.impact-dot{color:#0f0;flex-shrink:0;font-size:.72rem;margin-top:.18rem}body.light-mode .impact-dot{color:#0f6e56}.project-nav-footer{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(0,255,255,.1);padding-top:1.25rem}body.light-mode .project-nav-footer{border-color:#0f6e561f}.project-nav-btn{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;padding:.5rem .75rem;border:1px solid rgba(0,255,255,.15);border-radius:5px;transition:border-color .2s,background .2s;max-width:45%}.project-nav-btn:hover{border-color:#00ffff73;background:#00ffff0a}body.light-mode .project-nav-btn{border-color:#0f6e5626}body.light-mode .project-nav-btn:hover{border-color:#0f6e5673;background:#0f6e560a}.project-nav-next{align-items:flex-end;text-align:right}.nav-dir{font-size:.7rem;font-family:Fira Code,monospace;color:#00ffff80}body.light-mode .nav-dir{color:#0f6e5699}.nav-title{font-size:.8rem;font-family:Fira Code,monospace;color:#e0e0e0}body.light-mode .nav-title{color:#1a1a1a}.projects-filter-bar{padding:.65rem 1rem .5rem;display:flex;flex-direction:column;gap:.5rem;border-bottom:1px solid rgba(0,255,255,.08)}body.light-mode .projects-filter-bar{border-color:#0f6e561a}.projects-search{background:transparent;border:1px solid rgba(0,255,255,.2);border-radius:4px;color:#e0e0e0;font-family:Fira Code,monospace;font-size:.8rem;padding:.35rem .65rem;outline:none;width:100%;max-width:320px;transition:border-color .2s}.projects-search::placeholder{color:#ffffff4d}.projects-search:focus{border-color:#00ffff8c}body.light-mode .projects-search{border-color:#0f6e5640;color:#1a1a1a}body.light-mode .projects-search::placeholder{color:#0a0a0a4d}body.light-mode .projects-search:focus{border-color:#0f6e5699}.tech-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem}.tech-chip{background:transparent;border:1px solid rgba(0,255,255,.2);color:#ffffff8c;font-family:Fira Code,monospace;font-size:.7rem;padding:.2rem .55rem;border-radius:3px;cursor:pointer;transition:all .15s}.tech-chip:hover{border-color:#00ffff80;color:#0ff}.tech-chip.active{background:#00ffff1f;border-color:#0ff;color:#0ff}.tech-chip-clear{border-color:#ff505066;color:#ff5050b3}.tech-chip-clear:hover{border-color:#ff5050;color:#ff5050}body.light-mode .tech-chip{border-color:#0f6e5633;color:#0a0a0a80}body.light-mode .tech-chip:hover{border-color:#0f6e5699;color:#0f6e56}body.light-mode .tech-chip.active{background:#0f6e561a;border-color:#0f6e56;color:#0f6e56}.projects-empty{padding:2rem 1rem;font-family:Fira Code,monospace;font-size:.82rem}.project-tagline{font-size:.78rem;color:#ffffff8c;margin-top:.15rem;line-height:1.4;font-style:italic}body.light-mode .project-tagline{color:#0a0a0a80}.project-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.case-study-btn{display:inline-flex;align-items:center;padding:.28rem .6rem;border:1px solid rgba(0,255,255,.35);border-radius:4px;color:#0ff;font-family:Fira Code,monospace;font-size:.75rem;text-decoration:none;transition:background .2s,border-color .2s}.case-study-btn:hover{background:#00ffff14;border-color:#00ffffb3}body.light-mode .case-study-btn{border-color:#0f6e5666;color:#0f6e56}body.light-mode .case-study-btn:hover{background:#0f6e560f;border-color:#0f6e56bf}.open-to-work-banner{display:flex;align-items:center;gap:.65rem;border:1px solid rgba(0,255,0,.3);border-radius:6px;background:#00ff000a;padding:.65rem 1rem;margin-bottom:1rem;font-family:Fira Code,monospace;font-size:.8rem;color:#fffc}body.light-mode .open-to-work-banner{border-color:#008c004d;background:#008c000a;color:#0a0a0abf}.otw-dot{width:9px;height:9px;border-radius:50%;background:#0f0;flex-shrink:0;box-shadow:0 0 6px #0f0;animation:pulse 2s ease-in-out infinite}body.light-mode .otw-dot{background:#0f6e56;box-shadow:0 0 6px #0f6e5699}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.25)}}.contact-form{display:flex;flex-direction:column;gap:.85rem;max-width:520px}.form-row{display:flex;flex-direction:column;gap:.3rem}.form-label{font-family:Fira Code,monospace;font-size:.76rem;color:#00ffffb3;display:flex;align-items:center;gap:.35rem}body.light-mode .form-label{color:#0f6e56cc}.form-prompt{color:#0f0}body.light-mode .form-prompt{color:#0f6e56}.form-input{background:#00ffff08;border:1px solid rgba(0,255,255,.18);border-radius:4px;color:#e0e0e0;font-family:Fira Code,monospace;font-size:.82rem;padding:.45rem .7rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.form-input::placeholder{color:#ffffff40}.form-input:focus{border-color:#00ffff8c;background:#00ffff0d}body.light-mode .form-input{background:#0f6e5605;border-color:#0f6e5638;color:#1a1a1a}body.light-mode .form-input::placeholder{color:#0a0a0a47}body.light-mode .form-input:focus{border-color:#0f6e568c;background:#0f6e560a}.form-textarea{resize:vertical;min-height:90px}.form-submit{align-self:flex-start;background:transparent;border:1px solid rgba(0,255,255,.45);color:#0ff;font-family:Fira Code,monospace;font-size:.82rem;padding:.45rem 1rem;cursor:pointer;border-radius:4px;transition:background .2s,border-color .2s}.form-submit:hover:not(:disabled){background:#00ffff14;border-color:#0ff}.form-submit:disabled{opacity:.55;cursor:default}body.light-mode .form-submit{border-color:#0f6e5680;color:#0f6e56}body.light-mode .form-submit:hover:not(:disabled){background:#0f6e5612;border-color:#0f6e56}.form-error{font-family:Fira Code,monospace;font-size:.76rem;color:#f55}.contact-form-success{display:flex;align-items:center;gap:.65rem;border:1px solid rgba(0,255,0,.35);border-radius:5px;background:#00ff000a;padding:.75rem 1rem;font-family:Fira Code,monospace;font-size:.82rem;color:#0f0;max-width:520px}body.light-mode .contact-form-success{border-color:#0f6e5659;color:#0f6e56}.success-icon{font-size:1.1rem;flex-shrink:0}@media (pointer: fine){.cursor-dot{position:fixed;top:-3px;left:-3px;width:6px;height:6px;border-radius:50%;background:#0ff;pointer-events:none;z-index:99999;will-change:transform;transition:opacity .2s}.cursor-ring{position:fixed;top:-16px;left:-16px;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(0,255,255,.55);pointer-events:none;z-index:99998;will-change:transform;transition:width .2s,height .2s,top .2s,left .2s,border-color .2s}.cursor-dot.cursor-hover{background:#fff;opacity:0}.cursor-ring.cursor-hover{width:48px;height:48px;top:-24px;left:-24px;border-color:#00ffffd9;background:#00ffff0f}body.light-mode .cursor-dot{background:#0f6e56}body.light-mode .cursor-ring{border-color:#0f6e568c}body.light-mode .cursor-ring.cursor-hover{border-color:#0f6e56d9;background:#0f6e560d}}.gh-activity-list{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}.gh-activity-error{padding:1rem;font-family:Fira Code,monospace;font-size:.8rem}.gh-event-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .75rem;border-radius:5px;border:1px solid transparent;text-decoration:none;transition:border-color .15s,background .15s}.gh-event-row:hover{border-color:#00ffff2e;background:#00ffff08}body.light-mode .gh-event-row:hover{border-color:#0f6e562e;background:#0f6e5608}.gh-event-icon{font-family:Fira Code,monospace;font-size:.85rem;color:#0f0;min-width:1.2rem;text-align:center}body.light-mode .gh-event-icon{color:#0f6e56}.gh-event-text{flex:1;font-family:Fira Code,monospace;font-size:.78rem;color:#ffffffb8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.light-mode .gh-event-text{color:#0a0a0aa6}.gh-event-time{font-family:Fira Code,monospace;font-size:.7rem;color:#ffffff59;flex-shrink:0}body.light-mode .gh-event-time{color:#0a0a0a59}.hackathon-badge{cursor:pointer;position:relative;transition:transform .2s,text-shadow .2s}.hackathon-badge:hover{transform:scale(1.04);text-shadow:0 0 12px rgba(255,215,0,.6)}.magnetic{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}.ascii-face pre{transition:color .3s}@media (prefers-reduced-motion: reduce){.cursor-dot,.cursor-ring{display:none!important}.hackathon-badge:hover{transform:none}}.boot-loader{position:fixed;inset:0;background:#0a0a0a;display:flex;align-items:center;justify-content:center;z-index:99999;transition:opacity .5s ease}.boot-fading{opacity:0;pointer-events:none}.boot-lines{font-family:Fira Code,monospace;font-size:.82rem;color:#0f0;line-height:1.75;max-width:560px;width:90%}.boot-line{opacity:0;animation:bootLineIn .15s ease forwards}@keyframes bootLineIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}.boot-special{color:#0ff;font-weight:700;margin-top:.5rem}.boot-cursor{display:inline-block;width:8px;height:14px;background:#0f0;vertical-align:middle;animation:blink .8s step-end infinite}.sudo-flash{position:fixed;bottom:3rem;left:50%;transform:translate(-50%);background:#001400eb;border:1px solid #00ff00;color:#0f0;font-family:Fira Code,monospace;font-size:.8rem;padding:.4rem 1.1rem;border-radius:4px;z-index:99990;animation:sudoIn .3s ease,sudoOut .5s ease 1.3s forwards;pointer-events:none}@keyframes sudoIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes sudoOut{to{opacity:0;transform:translate(-50%) translateY(-8px)}}@media (prefers-reduced-motion: reduce){.boot-loader{transition:none}.boot-line,.boot-cursor{animation:none;opacity:1}}.resume-view-page{min-height:100vh;background:#0a0a0a;padding:1.5rem 1rem 3rem;font-family:Fira Code,monospace}body.light-mode .resume-view-page{background:#f8f8f6}.resume-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:780px;margin:0 auto 1.5rem}.resume-back{color:#00ffffb3;text-decoration:none;font-size:.8rem;transition:color .2s}.resume-back:hover{color:#0ff}body.light-mode .resume-back{color:#0f6e56b3}body.light-mode .resume-back:hover{color:#0f6e56}.resume-print-btn{background:transparent;border:1px solid rgba(0,255,255,.35);color:#0ff;font-family:Fira Code,monospace;font-size:.78rem;padding:.35rem .85rem;border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s}.resume-print-btn:hover{background:#00ffff12;border-color:#0ff}body.light-mode .resume-print-btn{border-color:#0f6e5666;color:#0f6e56}body.light-mode .resume-print-btn:hover{background:#0f6e560f}.resume-document{max-width:780px;margin:0 auto;background:#111;border:1px solid rgba(0,255,255,.1);border-radius:6px;padding:2.5rem 2.5rem 3rem;color:#e0e0e0}body.light-mode .resume-document{background:#fff;border-color:#0f6e561f;color:#1a1a1a}.rv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.rv-name{font-size:1.6rem;color:#0ff;margin:0 0 .25rem}body.light-mode .rv-name{color:#0a3a2e}.rv-title{font-size:.82rem;color:#ffffffa6;margin:0}body.light-mode .rv-title{color:#0a0a0a99}.rv-contact{display:flex;flex-direction:column;gap:.2rem;text-align:right;font-size:.74rem;color:#ffffff80}body.light-mode .rv-contact{color:#0a0a0a80}.rv-divider{border:none;border-top:1px solid rgba(0,255,255,.15);margin:1rem 0}body.light-mode .rv-divider{border-color:#0f6e562e}.rv-section{margin-bottom:1.5rem}.rv-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#0ff;border-bottom:1px solid rgba(0,255,255,.15);padding-bottom:.3rem;margin:0 0 .75rem}body.light-mode .rv-section-title{color:#0f6e56;border-color:#0f6e5626}.rv-body{font-size:.79rem;color:#ffffffb8;line-height:1.65;margin:0}body.light-mode .rv-body{color:#0a0a0aa6}.rv-edu-item{margin-bottom:.5rem}.rv-edu-main{display:flex;justify-content:space-between;font-size:.82rem}.rv-edu-sub{font-size:.76rem;color:#ffffff80;margin-top:.15rem}body.light-mode .rv-edu-sub{color:#0a0a0a73}.rv-date{font-size:.74rem;color:#fff6}body.light-mode .rv-date{color:#0a0a0a66}.rv-project-item{margin-bottom:.85rem}.rv-proj-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.rv-proj-header strong{font-size:.82rem}.rv-proj-tech{font-size:.7rem;color:#0ff9}body.light-mode .rv-proj-tech{color:#0f6e56b3}.rv-achievement{margin-bottom:.5rem}.rv-achievement strong{font-size:.82rem;display:block;margin-bottom:.15rem}.rv-skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.rv-skill-cat{font-size:.72rem;color:#00ffffb3;margin-bottom:.25rem}body.light-mode .rv-skill-cat{color:#0f6e56bf}.rv-skill-tags{display:flex;flex-wrap:wrap;gap:.25rem}.rv-skill-tag{font-size:.68rem;background:#00ffff0f;border:1px solid rgba(0,255,255,.15);border-radius:3px;padding:.1rem .4rem;color:#ffffffa6}body.light-mode .rv-skill-tag{background:#0f6e560d;border-color:#0f6e562e;color:#0a0a0a99}.rv-cert-list{margin:0;padding:0 0 0 1rem;list-style:disc;font-size:.79rem;color:#ffffffb8;line-height:1.8}body.light-mode .rv-cert-list{color:#0a0a0aa6}@media print{.no-print{display:none!important}.resume-view-page{background:#fff!important;padding:0}.resume-document{background:#fff!important;border:none!important;border-radius:0!important;padding:0!important;color:#000!important;max-width:100%!important}.rv-name{color:#000!important}.rv-section-title{color:#000!important;border-color:#aaa!important}.rv-proj-tech,.rv-skill-cat{color:#555!important}.rv-skill-tag{background:#f5f5f5!important;border-color:#ddd!important;color:#333!important}.rv-body,.rv-title,.rv-contact,.rv-edu-sub,.rv-cert-list{color:#333!important}.rv-date{color:#666!important}.rv-divider{border-color:#ccc!important}}@keyframes particleFly{0%{opacity:1;transform:translate(0) scale(1.5)}60%{opacity:.8}to{opacity:0}}.bot-particle{-webkit-user-select:none;user-select:none;z-index:55}.heatmap-milestone-box{grid-column:1 / -1!important}.heatmap-wrapper{font-family:Fira Code,monospace;font-size:.7rem}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.35rem}.heatmap-total{color:#fff9;font-size:.74rem}body.light-mode .heatmap-total{color:#0a0a0a8c}.heatmap-legend{display:flex;align-items:center;gap:.25rem;font-size:.68rem;color:#ffffff73}body.light-mode .heatmap-legend{color:#0a0a0a66}.heatmap-legend-cell{width:10px;height:10px;border-radius:2px}.heatmap-scroll{overflow-x:auto;padding-bottom:.25rem}.heatmap-grid-wrapper{display:flex;gap:.25rem;min-width:660px}.heatmap-day-labels{display:flex;flex-direction:column;gap:2px;padding-top:1px}.heatmap-day-label{height:11px;font-size:.6rem;color:#ffffff59;line-height:11px}body.light-mode .heatmap-day-label{color:#0a0a0a4d}.heatmap-grid{display:flex;gap:2px}.heatmap-col{display:flex;flex-direction:column;gap:2px}.heatmap-cell{width:11px;height:11px;border-radius:2px;cursor:pointer;transition:opacity .15s}.heatmap-cell:hover{opacity:.75}.skeleton-cell{background:#ffffff0f!important;animation:shimmer 1.5s ease-in-out infinite}body.light-mode .skeleton-cell{background:#0a0a0a12!important}.heatmap-tooltip{background:#000000d9;border:1px solid rgba(0,255,255,.3);color:#e0e0e0;font-family:Fira Code,monospace;font-size:.68rem;padding:.25rem .55rem;border-radius:4px;pointer-events:none;z-index:9999;white-space:nowrap}body.light-mode .heatmap-tooltip{background:#ffffffeb;border-color:#0f6e564d;color:#1a1a1a}.heatmap-skeleton{display:flex;gap:2px;overflow:hidden;height:88px}.heatmap-error{padding:.5rem 0;font-family:Fira Code,monospace;font-size:.78rem}.page-sweep{position:absolute;inset:0;z-index:200;pointer-events:none;overflow:hidden}.page-sweep:before{content:"";position:absolute;top:0;left:-5px;width:5px;height:100%;background:#00ffffb3;box-shadow:0 0 18px #00ffff80,0 0 40px #0ff3;animation:sweepLine .65s cubic-bezier(.77,0,.175,1) forwards}body.light-mode .page-sweep:before{background:#0f6e56b3;box-shadow:0 0 18px #0f6e5666}@keyframes sweepLine{0%{left:-5px}to{left:100%}}@media (prefers-reduced-motion: reduce){.page-sweep:before{animation:none;display:none}}.hack-timeline{display:flex;flex-direction:column;gap:0;padding:.5rem 0 1rem;position:relative}.hack-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:#00ffff2e}body.light-mode .hack-timeline:before{background:#0f6e562e}.hack-tl-item{display:flex;gap:1rem;padding:.65rem 0 .65rem .25rem}.hack-tl-dot{width:17px;height:17px;border-radius:50%;border:2px solid #00ffff;background:#0a0a0a;flex-shrink:0;margin-top:2px;box-shadow:0 0 8px #0ff6;z-index:1}body.light-mode .hack-tl-dot{border-color:#0f6e56;background:#f8f8f6;box-shadow:0 0 8px #0f6e564d}.hack-tl-content{flex:1}.hack-tl-title{font-family:Fira Code,monospace;font-size:.88rem;color:#e0e0e0;font-weight:600;margin-bottom:.2rem}body.light-mode .hack-tl-title{color:#1a1a1a}.hack-tl-meta{font-family:Fira Code,monospace;font-size:.72rem;color:#ffffff73;margin-bottom:.25rem;display:flex;flex-wrap:wrap;gap:.25rem}body.light-mode .hack-tl-meta{color:#0a0a0a73}.hack-tl-sep{color:#00ffff4d}body.light-mode .hack-tl-sep{color:#0f6e564d}.hack-tl-project{font-family:Fira Code,monospace;font-size:.78rem;color:#00ffffb3;margin-bottom:.2rem}body.light-mode .hack-tl-project{color:#0f6e56bf}.hack-tl-achievement{display:inline-block;font-family:Fira Code,monospace;font-size:.75rem;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);color:gold;border-radius:4px;padding:.15rem .55rem}body.light-mode .hack-tl-achievement{background:#b4820014;border-color:#b482004d;color:#8a6500}.lc-grid-wrapper{margin:.75rem 0 .5rem}.lc-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-bottom:.45rem}.lc-cell{aspect-ratio:1;border-radius:2px;transition:transform .15s}.lc-cell:hover{transform:scale(1.3)}.lc-easy{background:#00b8a3}.lc-medium{background:#ffa116}.lc-hard{background:#ef4743}.lc-empty{background:#ffffff12}body.light-mode .lc-empty{background:#00000014}.lc-legend{display:flex;gap:1rem;font-family:Fira Code,monospace;font-size:.7rem;color:#ffffff8c}body.light-mode .lc-legend{color:#00000080}.lc-legend span{display:flex;align-items:center;gap:.3rem}.lc-dot{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.lc-easy-dot{background:#00b8a3}.lc-medium-dot{background:#ffa116}.lc-hard-dot{background:#ef4743}.radar-wrapper{background:#00ffff05;border:1px solid rgba(0,255,255,.1);border-radius:6px;padding:1.2rem;margin-bottom:1.5rem}body.light-mode .radar-wrapper{background:#0f6e5605;border-color:#0f6e561f}.radar-title{font-family:Fira Code,monospace;font-size:.72rem;color:#00ffff80;margin-bottom:1rem}body.light-mode .radar-title{color:#0f6e5680}.radar-inner{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.radar-svg{width:260px;height:270px;flex-shrink:0}.radar-grid{fill:none;stroke:#00ffff1f;stroke-width:1}body.light-mode .radar-grid{stroke:#0f6e5626}.radar-axis{stroke:#00ffff26;stroke-width:1}body.light-mode .radar-axis{stroke:#0f6e562e}.radar-data{fill:#00ffff1f;stroke:#0ff9;stroke-width:1.5}body.light-mode .radar-data{fill:#0f6e561a;stroke:#0f6e5699}.radar-dot{fill:#0ff;stroke:#0006;stroke-width:1}body.light-mode .radar-dot{fill:#0f6e56}.radar-label{font-family:Fira Code,monospace;font-size:.7rem;fill:#00ffffbf}body.light-mode .radar-label{fill:#0f6e56cc}.radar-grid-label{font-family:Fira Code,monospace;font-size:.55rem;fill:#ffffff40}body.light-mode .radar-grid-label{fill:#00000040}.radar-legend{flex:1;min-width:180px;display:flex;flex-direction:column;gap:.55rem}.radar-legend-row{display:flex;align-items:center;gap:.6rem;font-family:Fira Code,monospace;font-size:.72rem}.radar-legend-label{width:72px;color:#ffffffa6;flex-shrink:0}body.light-mode .radar-legend-label{color:#0009}.radar-bar-track{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}body.light-mode .radar-bar-track{background:#00000014}.radar-bar-fill{height:100%;background:linear-gradient(90deg,#0ff9,#00ffffe6);border-radius:2px;transition:width .8s ease}body.light-mode .radar-bar-fill{background:linear-gradient(90deg,#0f6e5699,#0f6e56e6)}.radar-legend-pct{width:32px;text-align:right;color:#00ffffb3;font-size:.68rem}body.light-mode .radar-legend-pct{color:#0f6e56b3}@media (max-width: 600px){.radar-inner{flex-direction:column;align-items:flex-start}.radar-svg{width:220px;height:230px}}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.terminal-hint{position:absolute;top:1rem;left:1rem;z-index:20;background:#000e0ee0;border:1px solid rgba(0,255,255,.18);border-radius:5px;padding:.55rem .8rem .6rem;font-family:Fira Code,monospace;max-width:190px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hintFadeIn .5s ease .4s both;box-shadow:0 4px 18px #00000073}body.light-mode .terminal-hint{background:#f0f8f5eb;border-color:#0f6e5633;box-shadow:0 4px 18px #0000001f}.hint-close{position:absolute;top:.25rem;right:.35rem;background:none;border:none;color:#ffffff47;cursor:pointer;font-size:.85rem;line-height:1;padding:0;transition:color .15s}.hint-close:hover{color:#00ffffbf}body.light-mode .hint-close{color:#00000040}body.light-mode .hint-close:hover{color:#0f6e56cc}.hint-header{font-size:.62rem;color:#00ffff73;margin-bottom:.4rem;letter-spacing:.02em}body.light-mode .hint-header{color:#0f6e5680}.hint-cmds{display:flex;flex-direction:column;gap:.22rem;margin-bottom:.4rem}.hint-cmd{display:block;font-size:.7rem;color:#0ff;background:#00ffff12;border:1px solid rgba(0,255,255,.12);border-radius:3px;padding:.1rem .4rem;letter-spacing:.03em}body.light-mode .hint-cmd{color:#0a6b50;background:#0f6e5612;border-color:#0f6e5626}.hint-sub{font-size:.6rem;color:#ffffff47;letter-spacing:.02em}body.light-mode .hint-sub{color:#0000004d}@media (max-width: 480px){.terminal-hint{top:.5rem;left:.5rem;max-width:160px}}
