@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease}body.dark-mode{background-color:#1e1e1e}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:Flat;src:local("NovaFlatRegular"),url(/static/media/NovaFlat-Regular.f187b6b105a27ec5ea9b.ttf) format("truetype")}@media (max-width:768px){:root{--sidebar-width:0px}.main-content{margin-left:0!important;width:100%!important}.notebook-header{padding:10px!important}.notebook-title{font-size:16px!important}.notebook-controls{display:flex;flex-wrap:wrap;gap:8px}.theme-toggle{font-size:12px!important;padding:4px 8px!important}.markdown-content,.notebook-content,.python-content{padding:10px!important}}*{scrollbar-color:#2196f34d #0000;scrollbar-width:thin}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background-color:#2196f34d;border:2px solid #1e1e1e;border:2px solid var(--jupyter-cell-bg,#1e1e1e);border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#2196f380}::-webkit-scrollbar-thumb:vertical:not(:hover){background-color:#2196f31a}body:not(.dark-mode) ::-webkit-scrollbar-thumb{border:2px solid #fff;border:2px solid var(--jupyter-cell-bg-light,#fff)}.App{text-align:center}.app-container{display:flex;min-height:100vh}.main-container{background-color:var(--jupyter-cell-bg);flex:1 1;margin-left:0;overflow-x:hidden}.app-container.dark-mode{background-color:var(--jupyter-bg);color:var(--jupyter-text)}.app-container.dark-mode .main-container{background-color:var(--jupyter-cell-bg)}.app-container:not(.dark-mode){color:#2c3e50;color:var(--jupyter-text-light)}.app-container:not(.dark-mode),.app-container:not(.dark-mode) .main-container{background-color:#fff;background-color:var(--jupyter-bg-light)}.app-container:not(.dark-mode) .sidebar{background-color:#fff;background-color:var(--jupyter-cell-bg-light);border-color:#e9ecef;border-color:var(--jupyter-border-light)}:root{--jupyter-bg-dark:#1e1e1e;--jupyter-cell-bg-dark:#252526;--jupyter-code-bg-dark:#1e1e1e;--jupyter-text-dark:#e0e0e0;--jupyter-border-dark:#444;--jupyter-output-bg-dark:#252526}.notebook-container.dark-mode{--jupyter-bg:var(--jupyter-bg-dark);--jupyter-cell-bg:var(--jupyter-cell-bg-dark);--jupyter-code-bg:var(--jupyter-code-bg-dark);--jupyter-text:var(--jupyter-text-dark);--jupyter-border:var(--jupyter-border-dark);--jupyter-output-bg:var(--jupyter-output-bg-dark)}.app-container{color:var(--jupyter-text)}.app-container,.main-container{background-color:var(--jupyter-bg)}.main-content{margin-left:250px;overflow-x:hidden}.notebook-header{left:250px;position:fixed;right:0;width:100%;z-index:100}.notebook-content{padding-top:60px;width:100%}:root{--primary:#4361ee;--secondary:#3a0ca3;--accent:#4cc9f0;--dark:#0f172a;--darker:#0a0f1c;--light:#f8fafc;--gray:#94a3b8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gradient-blue:linear-gradient(135deg,var(--primary),var(--accent));--gradient-purple:linear-gradient(135deg,var(--secondary),var(--primary));--code-bg:#1e293b;--card-bg:#1e293b80;--border-radius:12px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--jupyter-bg-light:#fff;--jupyter-cell-bg-light:#fff;--jupyter-code-bg-light:#f8f9fa;--jupyter-text-light:#2c3e50;--jupyter-border-light:#e9ecef;--jupyter-output-bg-light:#f8f9fa;--jupyter-blue-light:#2196f3;--jupyter-green-light:#4caf50}.notebook-container:not(.dark-mode){--jupyter-bg:var(--jupyter-bg-light);--jupyter-cell-bg:var(--jupyter-cell-bg-light);--jupyter-code-bg:var(--jupyter-code-bg-light);--jupyter-text:var(--jupyter-text-light);--jupyter-border:var(--jupyter-border-light);--jupyter-output-bg:var(--jupyter-output-bg-light);--jupyter-blue:var(--jupyter-blue-light);--jupyter-green:var(--jupyter-green-light)}.notebook-container:not(.dark-mode) .input-prompt,.notebook-container:not(.dark-mode) .notebook-title,.notebook-container:not(.dark-mode) .output-prompt{color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .code-area{color:#24292e}.notebook-container:not(.dark-mode) .output-result pre{color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .toolbar-button{background:#2196f30d;border-color:#2196f326;color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .toolbar-button:hover{background:#2196f31a;border-color:#2196f34d}.notebook-container:not(.dark-mode) .toolbar-button.run-all{background:#27ae600d;border-color:#27ae6026;color:#2e7d32}.notebook-container:not(.dark-mode) .toolbar-button.run-all:hover{background:#27ae601a;border-color:#27ae604d}.notebook-container:not(.dark-mode) .toolbar-button.restart{background:#ef44440d;border-color:#ef444426;color:#d32f2f}.notebook-container:not(.dark-mode) .toolbar-button.restart:hover{background:#ef44441a;border-color:#ef44444d}.notebook-container:not(.dark-mode) .toolbar-button.pause{background:#ffc1070d;border-color:#ffc10726;color:#f57c00}.notebook-container:not(.dark-mode) .toolbar-button.pause:hover{background:#ffc1071a;border-color:#ffc1074d}.notebook-container:not(.dark-mode) .toolbar-button.resume{background:#27ae600d;border-color:#27ae6026;color:#2e7d32}.notebook-container:not(.dark-mode) .toolbar-button.resume:hover{background:#27ae601a;border-color:#27ae604d}.notebook-container:not(.dark-mode) .toolbar-button.clear{background:#2196f30d;border-color:#2196f326;color:#2196f3;color:var(--jupyter-blue-light)}.notebook-container:not(.dark-mode) .toolbar-button.clear:hover{background:#2196f31a;border-color:#2196f34d}.notebook-container:not(.dark-mode) .run-button{background:#0000;border-color:#0000;color:#616161}.notebook-container:not(.dark-mode) .run-button:hover{background:#2196f314;border-color:#2196f333;color:#2196f3;color:var(--jupyter-blue-light)}.notebook-container:not(.dark-mode) .run-button:active{background:#2196f326}.notebook-container:not(.dark-mode) .run-button.executed{background:#0000;border-color:#0000;color:#2e7d32}.notebook-container:not(.dark-mode) .run-button.executed:hover{background:#27ae6014;border-color:#27ae6033}.notebook-container:not(.dark-mode) .run-button.executed:active{background:#27ae6026}.notebook-container:not(.dark-mode) .typing-indicator{color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .contact-content{box-shadow:0 2px 8px #0000001a}body{background-color:#0f172a;background-color:var(--dark);color:#f8fafc;color:var(--light);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}.container{background:#0f172a;background:var(--dark);min-height:100vh;overflow-x:hidden;position:relative;width:100%}.bg-grid{background-image:linear-gradient(#0f172ae6 1px,#0000 0),linear-gradient(90deg,#0f172ae6 1px,#0000 0);background-size:40px 40px;height:100%;left:0;opacity:.3;top:0;z-index:-1}.bg-grid,.header{position:fixed;width:100%}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0f172acc;padding:20px 5%;transition:all .3s ease;transition:var(--transition);z-index:1000}.header.scrolled{background-color:#0f172af2;box-shadow:0 10px 30px -10px #0000004d;padding:15px 5%}.navbar{justify-content:space-between;margin:0 auto;max-width:1400px}.logo,.navbar{align-items:center;display:flex}.logo{color:#4cc9f0;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.logo-bracket{color:#4361ee;color:var(--primary);margin-right:2px}.logo-dot{animation:blink 1.5s infinite;color:#4cc9f0;color:var(--accent)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.nav-links{display:flex;gap:10px}.nav-link{background:#0000;border:none;border-radius:8px;color:#f8fafc;color:var(--light);cursor:pointer;font-family:Inter,sans-serif;font-size:15px;font-weight:500;overflow:hidden;padding:8px 16px;position:relative}.nav-link,.nav-link:before{transition:all .3s ease;transition:var(--transition)}.nav-link:before{background:linear-gradient(135deg,#4361ee,#4cc9f0);background:var(--gradient-blue);bottom:0;content:"";height:2px;left:0;position:absolute;width:0}.nav-link:hover{color:#4cc9f0;color:var(--accent)}.nav-link:hover:before{width:100%}.nav-link.active{background:#1e293b80;background:var(--card-bg);color:#4cc9f0;color:var(--accent)}.social-links{gap:12px}.social-link,.social-links{align-items:center;display:flex}.social-link{background:#1e293b80;background:var(--card-bg);border:1px solid #ffffff1a;border-radius:50%;color:#f8fafc;color:var(--light);cursor:pointer;font-size:18px;height:40px;justify-content:center;transition:all .3s ease;transition:var(--transition);width:40px}.social-link:hover{border-color:#4cc9f0;border-color:var(--accent);box-shadow:0 7px 20px #4cc9f04d;color:#4cc9f0;color:var(--accent);transform:translateY(-3px)}.hero-section{align-items:center;display:flex;min-height:100vh;padding:120px 5% 80px;position:relative}.hero-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;width:100%}.hero-text{max-width:600px}.hero-greeting{align-items:center;color:#4cc9f0;color:var(--accent);display:flex;font-family:JetBrains Mono,monospace;font-size:1.2rem;margin-bottom:20px}.hero-greeting:before{color:#10b981;color:var(--success);content:">";margin-right:10px}.hero-title{background:linear-gradient(135deg,#4361ee,#4cc9f0);background:var(--gradient-blue);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:20px}.hero-subtitle{color:#94a3b8;color:var(--gray);font-size:1.5rem;font-weight:600;margin-bottom:20px}.hero-description{color:#94a3b8;color:var(--gray);font-size:1.1rem;margin-bottom:30px;max-width:500px}.hero-cta{display:flex;gap:20px;margin-top:40px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 28px;transition:all .3s ease;transition:var(--transition)}.btn-primary{background:linear-gradient(135deg,#4361ee,#4cc9f0);background:var(--gradient-blue);box-shadow:0 4px 15px #4361ee4d;color:#f8fafc;color:var(--light)}.btn-primary:hover{box-shadow:0 8px 25px #4361ee80;transform:translateY(-3px)}.btn-outline{background:#0000;border:1px solid #fff3;color:#f8fafc;color:var(--light)}.btn-outline:hover{border-color:#4cc9f0;border-color:var(--accent);color:#4cc9f0;color:var(--accent);transform:translateY(-3px)}.hero-image{align-items:center;display:flex;justify-content:center;position:relative}.profile-container{position:relative;z-index:2}.profile-pic{border:4px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 40px #0000004d;height:320px;object-fit:cover;transform:rotate(-3deg);transition:all .3s ease;transition:var(--transition);width:320px}.profile-pic:hover{border-color:#4cc9f0;border-color:var(--accent);transform:rotate(0deg) scale(1.02)}.data-decoration{height:100%;left:0;opacity:.6;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.data-point{animation:float 3s ease-in-out infinite;background:#4cc9f0;background:var(--accent);border-radius:50%;height:6px;position:absolute;width:6px}.data-line{animation:pulse 2s infinite;background:linear-gradient(90deg,#0000,#4cc9f0,#0000);background:linear-gradient(90deg,#0000,var(--accent),#0000);height:1px;position:absolute}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.education-badge{align-items:center;background:#1e293b80;background:var(--card-bg);border:1px solid #ffffff1a;border-radius:12px;bottom:-20px;box-shadow:0 10px 30px #0003;display:flex;gap:15px;padding:15px;position:absolute;right:-20px;z-index:3}.education-logo{height:50px;width:50px}.education-info{display:flex;flex-direction:column}.education-school{font-size:14px;font-weight:600}.education-degree{color:#94a3b8;color:var(--gray);font-size:12px}.scroll-indicator{align-items:center;bottom:40px;color:#94a3b8;color:var(--gray);display:flex;flex-direction:column;font-size:14px;gap:10px;left:50%;position:absolute;transform:translateX(-50%)}.mouse{border:2px solid #94a3b8;border:2px solid var(--gray);border-radius:20px;height:40px;position:relative;width:26px}.wheel{animation:scroll 2s infinite;background:#4cc9f0;background:var(--accent);border-radius:2px;height:8px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:4px}@keyframes scroll{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(15px)}}.skills-section{background:#0a0f1c;background:var(--darker);overflow:hidden;padding:100px 5%;position:relative}.section-title-container{align-items:center;display:flex;gap:15px;margin-bottom:60px;margin-left:auto;margin-right:auto;max-width:1400px}.section-number{color:#4cc9f0;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1.5rem;opacity:.7}.section-title{color:#f8fafc;color:var(--light);font-size:2.5rem;font-weight:700;position:relative}.section-title:after{background:linear-gradient(135deg,#4361ee,#4cc9f0);background:var(--gradient-blue);border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:60px}.skills-container{margin:0 auto;max-width:1000px;padding:20px}.skills-container h3{color:#2196f3;color:var(--jupyter-blue);font-size:1.3rem;margin-bottom:25px;position:relative;text-align:center}.skills-container h3:after{background:#2196f3;background:var(--jupyter-blue);border-radius:3px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.skills-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:20px}.skill-category-card{background-color:#f7f7f7;background-color:var(--jupyter-code-bg);border-radius:10px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--jupyter-shadow);padding:20px;transition:all .3s ease;transition:var(--transition)}.skill-category-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-3px)}.skill-category-header{align-items:center;display:flex;gap:10px;margin-bottom:15px}.skill-category-header i{align-items:center;background-color:#2196f31a;border-radius:50%;color:#2196f3;color:var(--jupyter-blue);display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:15px;width:24px}.skill-category-header h4{color:#2196f3;color:var(--jupyter-blue);font-size:1.1rem;margin:0}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{border-radius:20px;font-size:.9rem;padding:8px 14px;transition:all .3s ease;transition:var(--transition)}.skill-tag:hover{transform:translateY(-2px)}.skill-tag.advanced{background-color:#27ae6026;border:1px solid #27ae604d;color:#27ae60}.skill-tag.intermediate{background-color:#2196f326;border:1px solid #2196f34d;color:#2196f3}.skill-tag.basic{background-color:#8e44ad26;border:1px solid #8e44ad4d;color:#8e44ad}.skills-legend{display:flex;gap:20px;justify-content:center;margin-top:20px}.legend-item{align-items:center;display:flex;gap:8px}.legend-marker{border-radius:50%;height:12px;width:12px}.legend-marker.advanced{background-color:#27ae60}.legend-marker.intermediate{background-color:#2196f3}.legend-marker.basic{background-color:#8e44ad}.legend-text{font-size:.85rem;opacity:.8}@media (max-width:900px){.skills-grid{grid-template-columns:1fr}}.projects-section{padding:100px 5%;position:relative}.projects-container{margin:0 auto;max-width:1400px}.project-card:hover{border-color:#4cc9f0;border-color:var(--accent);box-shadow:0 8px 16px #0003}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.project-tag{background:#4cc9f01a;border-radius:20px;color:#4cc9f0;color:var(--accent);font-size:.8rem;font-weight:500;padding:5px 12px}.project-link{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease;transition:var(--transition)}.project-link-primary{background:linear-gradient(135deg,#4361ee,#4cc9f0);background:var(--gradient-blue);color:#f8fafc;color:var(--light)}.project-link-primary:hover{box-shadow:0 4px 12px #4361ee4d;transform:none}.project-link-secondary{background:#0000;border:1px solid #fff3;color:#f8fafc;color:var(--light)}.project-link-secondary:hover{border-color:#4cc9f0;border-color:var(--accent);color:#4cc9f0;color:var(--accent)}.footer{background:#0a0f1c;background:var(--darker);overflow:hidden;padding:60px 5% 40px;position:relative}.footer-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1400px}.footer-logo{color:#4cc9f0;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700;margin-bottom:20px}.footer-text{color:#94a3b8;color:var(--gray);margin-bottom:30px;max-width:600px}.footer-links{display:flex;gap:30px;margin-bottom:40px}.footer-link{color:#f8fafc;color:var(--light);text-decoration:none;transition:all .3s ease;transition:var(--transition)}.footer-link:hover{color:#4cc9f0;color:var(--accent)}.footer-social{display:flex;gap:20px;margin-bottom:40px}.footer-divider{background:#ffffff1a;height:1px;margin-bottom:30px;width:100%}.copyright{color:#94a3b8;color:var(--gray);font-size:.9rem}@media (max-width:1200px){.hero-title{font-size:3rem}.profile-pic{height:280px;width:280px}.section-title{font-size:2.2rem}}@media (max-width:992px){.hero-content{gap:40px;grid-template-columns:1fr;text-align:center}.hero-text{max-width:100%;order:2}.hero-greeting{justify-content:center}.hero-description{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-image{order:1}.section-title-container{justify-content:center}.section-title:after{left:50%;transform:translateX(-50%)}.skills-container{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.header{padding:15px 5%}.navbar{flex-direction:column;gap:15px}.nav-links,.social-links{justify-content:center;width:100%}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.3rem}.profile-pic{height:250px;width:250px}.education-badge{bottom:-30px;right:0}.section-title{font-size:2rem}.project-card{margin-bottom:40px}.project-image-container{height:220px}.project-title{font-size:1.5rem}.footer-links{flex-direction:column;gap:15px}.input-prompt,.output-prompt{display:none}.cell-input,.cell-output{padding-left:10px;padding-right:10px}.cell{margin-bottom:15px}.cell-input{padding:10px}.run-button{font-size:.8rem;padding:4px 8px;position:absolute;right:5px;top:5px}.code-area{padding-right:40px;position:relative}.main-content{padding:10px}.cell-output{-webkit-overflow-scrolling:touch;max-height:70vh;overflow-y:auto}.output-result{align-items:center;display:flex;flex-direction:column;text-align:center}#about .output-result{margin-bottom:-30px;padding:0;transform:scale(.85);transform-origin:top center}.education-item,.experience-item{margin:0 auto;width:100%}.skill-bars{width:100%}.cell-output img{margin:0 auto;max-width:90%;transform:scale(.9)}.cell-output table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.project-card{margin:0 auto 15px;width:100%}.contact-info{padding:10px;width:100%}.toolbar-group:first-child button:not(.run-all-button):not(.restart-button),.toolbar-group:not(:first-child){display:none}.notebook-toolbar{justify-content:center;padding:5px 10px}.restart-button,.run-all-button{font-size:.85rem;padding:5px 10px}.toolbar-group:first-child{display:flex;gap:10px}}@media (max-width:576px){.nav-link{font-size:14px;padding:6px 12px}.social-link{font-size:16px;height:36px;width:36px}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.hero-description{font-size:1rem}.btn{font-size:14px;padding:10px 20px}.profile-pic{height:220px;width:220px}.section-title{font-size:1.8rem}.project-content,.skill-card{padding:20px}.project-title{font-size:1.3rem}.project-links{flex-direction:column;gap:10px}.project-link{justify-content:center;width:100%}}:root{--jupyter-blue:#2196f3;--jupyter-gray:#f0f0f0;--jupyter-dark:#303030;--jupyter-green:#27ae60;--jupyter-red:#e74c3c;--jupyter-border:#ddd;--jupyter-cell-bg:#fff;--jupyter-code-bg:#f7f7f7;--jupyter-text:#333;--jupyter-output-bg:#fafafa;--jupyter-shadow:0 2px 8px #0000001a;--sidebar-bg:#252526;--sidebar-hover:#2d2d2d;--sidebar-active:#37373d;--sidebar-width:250px;--transition:all 0.3s ease;--vscode-bg:#1e1e1e;--vscode-text:#ccc;--vscode-blue:#569cd6;--vscode-yellow:#dcdcaa;--vscode-green:#6a9955;--vscode-red:#f44747}.dark-mode{--jupyter-blue:#4da3ff;--jupyter-gray:#2a2a2a;--jupyter-dark:#f0f0f0;--jupyter-green:#2ecc71;--jupyter-red:#ff6b6b;--jupyter-border:#444;--jupyter-cell-bg:#1e1e1e;--jupyter-code-bg:#252525;--jupyter-text:#e0e0e0;--jupyter-output-bg:#252525;--jupyter-shadow:0 2px 8px #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#1e1e1e;background-color:var(--vscode-bg);color:#ccc;color:var(--vscode-text);font-family:Inter,sans-serif;line-height:1.6;transition:all .3s ease;transition:var(--transition)}.notebook-container{min-height:100vh;width:100%}.sidebar{background-color:#fff;border-right:1px solid #ddd;flex-shrink:0;scrollbar-color:#64646480 #0000;scrollbar-width:thin;transition:all .3s ease;transition:var(--transition);width:0}.notebook-container:not(.dark-mode) .sidebar{background-color:#fff;border-right-color:#e9ecef}.sidebar-header{color:#ccc;color:var(--vscode-text);font-family:Source Code Pro,monospace;font-size:.9rem;font-weight:600;height:35px}.explorer-title{font-size:.8rem}.sidebar-toggle{color:#ccc;color:var(--vscode-text);font-size:.9rem}.folder-structure{padding:5px 0}.folder{margin-bottom:2px}.folder-header{padding:4px 10px;transition:all .3s ease}.folder-header:hover{background-color:#2d2d2d;background-color:var(--sidebar-hover)}.folder-icon{color:#ccc;color:var(--vscode-text);font-size:.9rem}.folder-name{font-family:Source Code Pro,monospace;font-size:.9rem}.notebook-container:not(.dark-mode) .folder-name{color:#2c3e50;color:var(--jupyter-text-light)}.file{cursor:pointer;padding:4px 10px 4px 18px;transition:all .3s ease}.file:hover{background-color:#2d2d2d;background-color:var(--sidebar-hover)}.file.active{background-color:#37373d;background-color:var(--sidebar-active)}.file-icon{color:#ccc;color:var(--vscode-text);font-size:.9rem}.python-icon{color:#3572a5}.markdown-icon{color:#083fa1}.json-icon{color:#f5de19}.image-icon{color:#ff9e0f}.file-name{font-family:Source Code Pro,monospace;font-size:.85rem}.notebook-container:not(.dark-mode) .file-name{color:#2c3e50;color:var(--jupyter-text-light)}.main-content{background-color:var(--jupyter-cell-bg)}.notebook-toolbar{background-color:#fff;background-color:var(--jupyter-cell-bg);border-bottom:1px solid #ddd;border-bottom:1px solid var(--jupyter-border);font-family:Inter,sans-serif;font-size:.85rem;padding:6px 10px}.notebook-toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-divider{background-color:#ddd;background-color:var(--jupyter-border);height:24px;margin:0 10px;width:1px}.toolbar-button{align-items:center;background:#2196f314;border:1px solid #2196f333;border-radius:4px;color:#333;color:var(--jupyter-text);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .2s ease}.toolbar-button:hover{background-color:#2196f326;box-shadow:none;transform:none}.toolbar-button i{font-size:.9rem;margin-right:6px}.toolbar-button.run-all{background:#27ae601a;border-color:#27ae604d;color:#27ae60;color:var(--jupyter-green)}.toolbar-button.run-all:hover{background:#27ae6033;border-color:#27ae60;border-color:var(--jupyter-green)}.toolbar-button.run-all i{color:#27ae60;color:var(--jupyter-green)}.toolbar-button.restart{background:#ef44441a;border-color:#ef44444d;color:#e74c3c;color:var(--jupyter-red)}.toolbar-button.restart:hover{background:#ef444433;border-color:#e74c3c;border-color:var(--jupyter-red)}.toolbar-button.restart i{color:#e74c3c;color:var(--jupyter-red)}.toolbar-button.pause{background:#ffc1071a;border-color:#ffc1074d;color:#ff9800}.toolbar-button.pause:hover{background:#ffc10733;border-color:#ff9800}.toolbar-button.pause i{color:#ff9800}.toolbar-button.resume{background:#27ae601a;border-color:#27ae604d;color:#27ae60;color:var(--jupyter-green)}.toolbar-button.resume:hover{background:#27ae6033;border-color:#27ae60;border-color:var(--jupyter-green)}.toolbar-button.clear{background:#2196f31a;border-color:#2196f34d;color:#2196f3;color:var(--jupyter-blue)}.toolbar-button.clear:hover{background:#2196f333;border-color:#2196f3;border-color:var(--jupyter-blue)}.toolbar-button.clear i{color:#2196f3;color:var(--jupyter-blue)}.toolbar-button.outline,.toolbar-button.variables,.toolbar-button[title=Code],.toolbar-button[title=Markdown]{background:#0000;border:none;box-shadow:none!important;color:#333;color:var(--jupyter-text);cursor:default;opacity:.5;transform:none!important}.toolbar-button.outline:hover,.toolbar-button.variables:hover,.toolbar-button[title=Code]:hover,.toolbar-button[title=Markdown]:hover{background:#0000;box-shadow:none!important;opacity:.5;transform:none!important}.toolbar-button.outline i,.toolbar-button.variables i,.toolbar-button[title=Code] i,.toolbar-button[title=Markdown] i{color:#333;color:var(--jupyter-text);opacity:.5}.toolbar-spacer{flex:1 1}.notebook-header{background-color:#fff;border-bottom:1px solid #ddd;height:35px;padding:8px 15px}.notebook-title{color:#333;font-size:.9rem;font-weight:600;opacity:.8}.notebook-controls{gap:10px}.theme-toggle{background:#2196f31a;border:1px solid #2196f34d;color:#2196f3;color:var(--jupyter-blue);font-size:.85rem;font-weight:500}.theme-toggle:hover{background:#2196f333;border-color:#2196f3;border-color:var(--jupyter-blue);box-shadow:none;transform:none}.notebook-container:not(.dark-mode) .theme-toggle{background:#2a2a2a1a;border-color:#2a2a2a4d;color:#2a2a2a}.notebook-container:not(.dark-mode) .theme-toggle:hover{background:#2a2a2a33;border-color:#2a2a2a}.notebook-content{background-color:#fff;background-color:var(--jupyter-cell-bg);flex:1 1;max-height:calc(100vh - 110px);overflow-y:auto;padding:15px;scrollbar-color:#64646480 #0000;scrollbar-width:thin}.notebook-content::-webkit-scrollbar{width:10px}.notebook-content::-webkit-scrollbar-track{background:#0000}.notebook-content::-webkit-scrollbar-thumb{background-color:#64646480;border:2px solid #fff;border:2px solid var(--jupyter-cell-bg);border-radius:5px}.notebook-content::-webkit-scrollbar-thumb:hover{background-color:#787878b3}.notebook-cell{border:1px solid #ddd}.cell-input{background-color:#f7f7f7;border-bottom:1px solid #ddd}.input-prompt{border-right:1px solid #ddd;color:#2196f3}.notebook-container:not(.dark-mode) .input-prompt{color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .cell-input{background-color:#fff;background-color:var(--jupyter-cell-bg-light)}.code-area{color:#333}.notebook-container:not(.dark-mode) .code-area{background-color:#f8f9fa;background-color:var(--jupyter-code-bg-light)}.run-button{background:#0000;border:1px solid #0000;border-radius:3px;color:#757575;font-size:.75rem;font-weight:400;gap:4px;height:28px;justify-content:center;min-width:28px;padding:4px 8px;right:10px;top:50%;transform:translateY(-50%)!important;transition:background-color .15s ease,border-color .15s ease,color .15s ease;transition-property:background-color,border-color,color}.run-button:hover{background:#2196f314;border-color:#2196f333;color:#2196f3;color:var(--jupyter-blue)}.run-button:active{background:#2196f326}.run-button.executed{background:#0000;border-color:#0000;color:#27ae60;color:var(--jupyter-green)}.run-button.executed:hover{background:#27ae6014;border-color:#27ae6033}.run-button.executed:active{background:#27ae6026}.cell-executing{background-color:#f7f7f7;border-bottom:1px solid #ddd}.typing-indicator{color:#333}.typing-indicator pre{margin:0;white-space:pre-wrap}.notebook-container:not(.dark-mode) .cell-output{background-color:#fff;background-color:var(--jupyter-cell-bg-light)}.output-prompt{border-right:1px solid #ddd;color:#e74c3c;color:var(--jupyter-red)}.notebook-container:not(.dark-mode) .output-prompt{color:#2c3e50;color:var(--jupyter-text-light)}.output-result{background-color:#fafafa}.intro-container{background-color:#f7f7f7;background-color:var(--jupyter-code-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--jupyter-shadow);margin:0 auto;max-width:900px;padding:20px}.intro-header{margin-bottom:25px;text-align:center}.intro-header h1{background:linear-gradient(135deg,#2196f3,#4cc9f0);background:linear-gradient(135deg,var(--jupyter-blue),#4cc9f0);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.2rem;margin-bottom:5px}.intro-header h2{color:#333;color:var(--jupyter-text);font-size:1.2rem;font-weight:500;opacity:.9}.intro-content{align-items:center;display:flex;gap:40px}.intro-text{flex:1 1}.intro-bio{font-size:1rem;line-height:1.6;margin-bottom:20px}.intro-highlights{display:flex;flex-direction:column;gap:12px}.highlight-item{align-items:center;background-color:#2196f31a;border-radius:8px;display:flex;gap:12px;padding:10px 15px;transition:all .3s ease;transition:var(--transition)}.highlight-item:hover{background-color:#2196f326;transform:translateX(5px)}.highlight-item i{color:#2196f3;color:var(--jupyter-blue);font-size:1.1rem;text-align:center;width:20px}.highlight-item span{font-size:.95rem}.intro-image{border:3px solid #2196f3;border:3px solid var(--jupyter-blue);border-radius:12px;box-shadow:0 5px 15px #0003;flex-shrink:0;height:280px;overflow:hidden;position:relative;width:180px}.intro-image img{height:100%;object-fit:cover;object-position:center 30%;transition:all .3s ease;transition:var(--transition);width:100%}.intro-image:after{border-radius:12px;bottom:0;box-shadow:inset 0 0 20px #0003;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@media (max-width:768px){.intro-content{flex-direction:column-reverse;text-align:center}.intro-image{margin:0 auto 20px}.highlight-item{justify-content:center}.highlight-item:hover{transform:translateY(-3px)}}.about-content{padding:10px 0}.about-section{margin-bottom:25px}.about-section h3{font-size:1.4rem;margin-bottom:15px}.about-section p{font-size:1rem;line-height:1.7;margin-bottom:15px}.education-card{background-color:#f7f7f7;background-color:var(--jupyter-code-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--jupyter-shadow);display:flex;margin:0 auto 20px;max-width:900px;padding:20px}.education-logo{height:80px;margin-right:20px;object-fit:contain;width:80px}.education-details{flex:1 1}.education-header{margin-bottom:10px}.education-header h4{color:#2196f3;color:var(--jupyter-blue);font-size:1.2rem;margin-bottom:5px}.education-degrees{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:10px}.degree-item{flex:1 1;min-width:250px}.degree-title{font-weight:600;margin-bottom:3px}.degree-period{font-size:.9rem;opacity:.8}.education-stats{margin-bottom:10px}.education-gpa{background-color:#27ae6033;border-radius:4px;color:#27ae60;color:var(--jupyter-green);font-size:.9rem;font-weight:500;padding:3px 8px}.education-courses{font-size:.9rem;line-height:1.5}.experience-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:900px}.experience-item{background-color:#f7f7f7;background-color:var(--jupyter-code-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--jupyter-shadow);padding:15px;transition:all .3s ease;transition:var(--transition)}.experience-item:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-3px)}.experience-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.experience-header h4{color:#2196f3;color:var(--jupyter-blue);font-size:1rem;margin:0}.experience-period{background-color:#2196f31a;border-radius:4px;color:#2196f3;color:var(--jupyter-blue);font-size:.8rem;padding:2px 6px}.experience-brief{font-size:.9rem;line-height:1.5;margin:0}.activities-list{display:flex;flex-wrap:wrap;gap:10px;margin:0 auto;max-width:900px}.activity-item{align-items:center;background-color:#f7f7f7;background-color:var(--jupyter-code-bg);border-radius:6px;display:flex;flex:1 1;justify-content:space-between;min-width:250px;padding:8px 12px}.activity-name{font-size:.9rem;font-weight:500}.activity-date{font-size:.8rem;opacity:.8}.about-section h3{color:#2196f3;color:var(--jupyter-blue);font-size:1.3rem;margin-bottom:20px;position:relative;text-align:center}.about-section h3:after{background:#2196f3;background:var(--jupyter-blue);border-radius:3px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.about-section{margin-bottom:30px}.skills-visualization h3{color:#2196f3;color:var(--jupyter-blue);font-size:1.4rem;margin-bottom:20px}.skill-category{margin-bottom:25px}.skill-category h4{color:#333;color:var(--jupyter-text);font-size:1.1rem;margin-bottom:15px}.skill-bars{display:flex;flex-direction:column;gap:12px}.skill-item{align-items:center;display:flex;gap:10px}.skill-name{font-size:.9rem;font-weight:500;width:150px}.skill-bar{background-color:#ddd;background-color:var(--jupyter-border);border-radius:5px;flex:1 1;height:10px;overflow:hidden}.skill-level{background-color:#2196f3;background-color:var(--jupyter-blue);border-radius:5px;height:100%}.skill-percentage{font-size:.9rem;text-align:right;width:40px}.projects-output h3{color:#2196f3;color:var(--jupyter-blue);font-size:1.4rem;margin-bottom:20px}.projects-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:20px}.project-card{background-color:var(--jupyter-cell-bg);box-shadow:0 2px 8px #0000001a;box-shadow:var(--jupyter-shadow);transition:var(--transition);width:100%}.project-card:hover{box-shadow:0 4px 12px #0000001f;transform:none}.project-image{height:180px;overflow:hidden}.project-image img{border-radius:4px;height:100%;max-height:180px;object-fit:contain;transition:transform .3s ease;width:100%}.project-info{flex-grow:1;padding:18px}.project-title{color:#2196f3;color:var(--jupyter-blue);font-size:1.1rem;margin-bottom:10px}.project-description{font-size:.85rem;margin-bottom:12px;max-height:none;opacity:.9;overflow:visible}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tech-tag{background-color:#f7f7f7;background-color:var(--jupyter-code-bg);border-radius:4px;color:#333;color:var(--jupyter-text);font-size:.85rem;padding:4px 10px}.project-links{display:flex;gap:10px;margin-top:auto;padding-top:15px}.project-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;padding:8px 0;transition:all .3s ease;transition:var(--transition)}.details-btn{background-color:#2196f3;background-color:var(--jupyter-blue);color:#fff}.details-btn:hover{background-color:#27ae60;background-color:var(--jupyter-green)}.github-btn{background-color:#f7f7f7;background-color:var(--jupyter-code-bg);color:#333;color:var(--jupyter-text)}.github-btn:hover{background-color:#ddd;background-color:var(--jupyter-border)}.view-all{display:flex;justify-content:center;margin-top:20px}.view-all-btn{background-color:#2196f3;background-color:var(--jupyter-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .3s ease;transition:var(--transition)}.view-all-btn:hover{background-color:#27ae60;background-color:var(--jupyter-green)}.contact-content{background-color:#fff;background-color:var(--jupyter-cell-bg);border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--jupyter-shadow);margin:0 auto;max-width:900px;padding:20px}.contact-content h3{color:#2196f3;color:var(--jupyter-blue);font-size:1.4rem;margin-bottom:25px;position:relative;text-align:center}.contact-content h3:after{background:#2196f3;background:var(--jupyter-blue);border-radius:3px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.contact-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.contact-item{align-items:center;background-color:#2196f31a;border-radius:8px;display:flex;font-size:1rem;gap:15px;padding:15px;transition:all .3s ease;transition:var(--transition)}.contact-item:hover{background-color:#2196f326;box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.contact-item i{align-items:center;background-color:#2196f333;border-radius:50%;color:#2196f3;color:var(--jupyter-blue);display:flex;font-size:1.3rem;height:30px;justify-content:center;padding:20px;width:30px}.contact-item a,.contact-item span{color:#333;color:var(--jupyter-text);font-weight:500;text-decoration:none;transition:all .3s ease;transition:var(--transition)}.contact-item a:hover{color:#2196f3;color:var(--jupyter-blue);text-decoration:underline}.notebook-footer{background-color:#fff;background-color:var(--jupyter-cell-bg);border-top:1px solid #ddd;border-top:1px solid var(--jupyter-border);padding:10px 15px}.footer-content{font-size:.9rem;opacity:.7;text-align:center}@media (max-width:900px){.sidebar{width:200px}.main-content{margin-left:200px}.intro-content{flex-direction:column;text-align:center}.intro-image{margin:0 auto}.projects-grid{grid-template-columns:1fr}}@media (max-width:600px){.notebook-container{flex-direction:column}.sidebar{height:auto;max-height:200px;position:relative;width:100%}.main-content{margin-left:0}.cell-input{flex-direction:column}.input-prompt,.output-prompt{border-bottom:1px solid #ddd;border-bottom:1px solid var(--jupyter-border);border-right:none;min-width:auto;text-align:left;width:100%}.run-button{align-self:flex-end;margin:10px;position:static}}.toolbar-button.pause i{color:#e74c3c;color:var(--jupyter-red)}.toolbar-button.resume i{color:#27ae60;color:var(--jupyter-green)}.notebook-container.paused .notebook-content{opacity:.8}.notebook-container.paused:after{animation:fadeInOut 2s ease-in-out;background-color:#000000b3;border-radius:5px;color:#fff;content:"Execution Paused";font-size:1.2rem;left:50%;opacity:0;padding:10px 20px;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}@keyframes fadeInOut{0%,to{opacity:0}50%{opacity:1}}.projects-grid{grid-gap:25px;gap:25px}@media (min-width:900px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.projects-grid:only-child{max-width:600px}.projects-grid:has(.project-card:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.projects-grid:has(.project-card:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}.projects-grid:has(.project-card:nth-child(4)){grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1200px}@media (max-width:1200px){.projects-grid{grid-template-columns:repeat(2,1fr);max-width:950px}}@media (max-width:768px){.projects-grid{grid-template-columns:1fr;max-width:550px}}.notebook-container:not(.dark-mode) .project-description{color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .contact-content{background-color:#fff;background-color:var(--jupyter-cell-bg-light);box-shadow:var(--jupyter-shadow-light)}.notebook-container:not(.dark-mode) .contact-item{background-color:#2196f30d}.notebook-container:not(.dark-mode) .contact-item:hover{background-color:#2196f31a}.notebook-container:not(.dark-mode) .contact-item a,.notebook-container:not(.dark-mode) .contact-item span{color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .tech-tag{background-color:#f8f9fa;background-color:var(--jupyter-code-bg-light);color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .folder-icon{color:#4a5568}.notebook-container:not(.dark-mode) .file-icon{opacity:.7}.notebook-container:not(.dark-mode) .file.active,.notebook-container:not(.dark-mode) .file.active .file-name,.notebook-container:not(.dark-mode) .file:hover,.notebook-container:not(.dark-mode) .file:hover .file-name{color:#2196f3;color:var(--jupyter-blue)}.file.active{background-color:#f7f7f7}.notebook-container:not(.dark-mode) .file.active{background-color:#2196f326}.file-name[style*="cursor: pointer"]:hover{color:#2196f3}.notebook-container:not(.dark-mode) .file-name[style*="cursor: pointer"]:hover{color:#2196f3;color:var(--jupyter-blue)}.notebook-container:not(.dark-mode){background-color:#fff;color:#2c3e50;color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .code-area{background-color:#f7f7f7;color:#303030}.notebook-container:not(.dark-mode) .cell-input,.notebook-container:not(.dark-mode) .cell-output{background-color:#fff;color:#303030}.notebook-container:not(.dark-mode) .input-prompt,.notebook-container:not(.dark-mode) .output-prompt{background-color:initial;color:#303030;opacity:.5}.notebook-container:not(.dark-mode) .output-result{background-color:#fff;color:#303030}.notebook-container:not(.dark-mode) pre{color:#303030}.notebook-container:not(.dark-mode) .run-button{background:#0000!important;border-color:#0000!important;color:#616161!important}.notebook-container:not(.dark-mode) .run-button:hover{background:#2196f314!important;border-color:#2196f333!important;color:#2196f3!important;color:var(--jupyter-blue-light)!important}.notebook-container:not(.dark-mode) .run-button:active{background:#2196f326!important}.notebook-container:not(.dark-mode) .run-button.executed{background:#0000!important;border-color:#0000!important;color:#2e7d32!important}.notebook-container:not(.dark-mode) .typing-indicator{background-color:#f7f7f7;color:#303030}.skill-visualization img{height:auto}.about-section img,.cell-output img,.skill-visualization img{max-width:100%;object-fit:contain}.about-section img{height:auto}@media (max-width:768px){.project-card img{max-height:150px}.projects-grid{grid-template-columns:1fr}.input-prompt,.output-prompt{display:none}.cell-input,.cell-output{padding-left:10px;padding-right:10px}.cell{margin-bottom:15px}.cell-input{padding:10px}.run-button{font-size:.8rem;padding:4px 8px;position:absolute;right:5px;top:5px}.code-area{padding-right:40px;position:relative}.main-content{padding:10px}.cell-output{-webkit-overflow-scrolling:touch;max-height:70vh;overflow-y:auto}.output-result{align-items:center;display:flex;flex-direction:column;text-align:center}#about .output-result{margin-bottom:-30px;padding:0;transform:scale(.85);transform-origin:top center}.education-item,.experience-item{margin:0 auto;width:100%}.skill-bars{width:100%}.cell-output img{margin:0 auto;max-width:90%;transform:scale(.9)}.cell-output table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.project-card{margin:0 auto 15px;width:100%}.contact-info{padding:10px;width:100%}.toolbar-group:first-child button:not(.run-all-button):not(.restart-button),.toolbar-group:not(:first-child){display:none}.notebook-toolbar{justify-content:center;padding:5px 10px}.restart-button,.run-all-button{font-size:.85rem;padding:5px 10px}.toolbar-group:first-child{display:flex;gap:10px}#about .output-result{margin-bottom:-30px;padding:0;transform:scale(.85);transform-origin:top center}#about .education-item,#about .experience-item{margin-bottom:10px;padding:10px}#about h3{font-size:1.1rem;margin-bottom:15px}#about h4{font-size:.9rem;margin-bottom:5px}#about .degree-title,#about .experience-brief,#about p{font-size:.85rem;line-height:1.4}#about .degree-period,#about .education-gpa,#about .experience-period{font-size:.75rem}#about .education-grid,#about .experience-grid{display:block}#about .education-item,#about .experience-item{margin-bottom:15px;width:100%}#about .output-result{align-items:flex-start;text-align:left}#about .skill-category-card{margin-bottom:10px;overflow-x:auto;padding:10px}#about .skill-tags{flex-wrap:wrap;gap:5px}#about .skill-tag{font-size:.7rem;padding:3px 6px}.education-grid,.experience-grid{display:flex!important;flex-direction:column!important}.education-item,.experience-item{margin-bottom:15px!important;width:100%!important}.education-degrees,.education-details{display:flex!important;flex-direction:column!important}.degree-item{margin-bottom:10px!important}.skill-category-cards{display:flex!important;flex-direction:column!important}.skill-category-card{margin-bottom:15px!important;width:100%!important}.education-header,.experience-header{align-items:flex-start!important;flex-direction:column!important}.experience-period{margin-top:5px!important}.about-section{margin-bottom:20px!important}.degree-period,.degree-title,.education-courses p,.experience-brief{font-size:.85rem!important;line-height:1.4!important}.umassLogo{display:none!important}.education-header{justify-content:flex-start!important;padding-right:0!important}.education-logo{display:none!important}.education-card{align-items:flex-start!important;display:flex!important;flex-direction:column!important}.education-details{width:100%!important}}.blogs-nav-button{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;margin-left:10px;padding:6px 12px;transition:background-color .2s ease}.blogs-nav-button i{margin-right:5px}.blogs-nav-button:hover{background-color:#0069d9}.dark-mode .blogs-nav-button{background-color:#0d6efd}.dark-mode .blogs-nav-button:hover{background-color:#0b5ed7}@media (max-width:576px){.blogs-nav-button{font-size:13px;margin-left:8px;padding:8px 12px}.notebook-controls{align-items:center;display:flex}.notebook-header{padding:.75rem 1rem}.notebook-title{font-size:1.4rem}}.run-all-arrow-overlay{align-items:flex-start;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}.arrow-container{align-items:center;animation:bounce 2s infinite;background-color:#000c;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;left:355px;padding:8px 15px;position:absolute;top:0;transform-origin:bottom center}.arrow-text{color:#fff;font-size:14px;font-weight:500;margin-bottom:4px;text-align:center}.arrow{animation:pulse 1s infinite;color:#2196f3;color:var(--jupyter-blue,#2196f3);font-size:28px;font-weight:700;margin-top:0}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.dark-mode .arrow-container{background-color:#000000e6}.dark-mode .arrow{color:#4da3ff;color:var(--jupyter-blue-dark,#4da3ff)}.sidebar{display:block!important;width:250px;z-index:1000}.sidebar-header{align-items:center;border-bottom:1px solid var(--jupyter-border);display:flex;justify-content:space-between;padding:10px 15px}.explorer-title{color:var(--jupyter-text);font-size:11px;letter-spacing:1px;opacity:.7;text-transform:uppercase}.sidebar-toggle{background:none;border:none;color:var(--jupyter-text);cursor:pointer;opacity:.5}.folder-structure{padding:10px 0}.folder-header{align-items:center;cursor:pointer;display:flex;padding:4px 15px;transition:var(--transition)}.folder-header:hover{background-color:var(--jupyter-code-bg)}.folder-icon{color:var(--jupyter-text);margin-right:8px;opacity:.7;width:16px}.folder-name{color:var(--jupyter-text);font-size:13px}.folder-content{margin-left:12px}.file{align-items:center;display:flex;padding:3px 15px;transition:var(--transition)}.file:hover{background-color:var(--jupyter-code-bg)}.file-icon{margin-right:8px;opacity:.7;width:16px}.file-name{color:var(--jupyter-text);font-size:13px}.python-icon{color:#306998}.json-icon{color:#fac863}.markdown-icon{color:#519aba}.image-icon{color:#a074c4}.notebook-container:not(.dark-mode) .sidebar{background-color:var(--jupyter-cell-bg-light);border-right-color:var(--jupyter-border-light)}.notebook-container:not(.dark-mode) .file.active,.notebook-container:not(.dark-mode) .file:hover{background-color:#2196f31a}.file-name[style*="cursor: pointer"]{cursor:pointer}.file-name[style*="cursor: pointer"]:hover{color:var(--jupyter-blue)}.js-icon{color:#f7df1e}.css-icon{color:#2965f1}.react-icon{color:#61dafb}.database-icon{color:#f29111}.test-icon{color:#9c27b0}.config-icon{color:#607d8b}.folder .folder{margin-left:0}.folder .folder .folder-header{padding-left:25px}.folder .folder .folder-content{margin-left:10px}.file:hover .file-icon{opacity:1;transform:scale(1.1);transition:all .2s ease}.file.active{background-color:var(--jupyter-code-bg);border-left:2px solid var(--jupyter-blue)}.file.active .file-icon{opacity:1}.file.active .file-name{font-weight:500}.jupyter-icon{color:#f37626}.csv-icon{color:#217346}.model-icon{color:#9c27b0}.shell-icon{color:#607d8b}.fa-chart-bar,.fa-chart-line,.fa-chart-pie{color:#ff9800}.fa-brain{color:#e91e63}.highlighted-file{animation:pulse 2s infinite;background-color:#2196f314;border-left:2px solid var(--jupyter-blue);position:relative}.highlighted-file .file-icon{color:var(--jupyter-blue);opacity:1}.dark-mode .highlighted-file,.highlighted-file:hover{background-color:#2196f326}.dark-mode .highlighted-file:hover{background-color:#2196f340}.file-badge{background-color:var(--jupyter-blue);border-radius:10px;color:#fff;font-size:10px;opacity:.8;padding:2px 6px;position:absolute;right:10px;transition:opacity .2s ease}.file:hover .file-badge{opacity:1}.clickable-file{background-color:#2196f314;border-left:2px solid var(--jupyter-blue);cursor:pointer;position:relative;transition:all .2s ease}.clickable-file .file-icon{color:var(--jupyter-blue);opacity:1}.clickable-file .file-name{color:var(--jupyter-blue);font-weight:500}.clickable-file:hover{background-color:#2196f333}.dark-mode .clickable-file{background-color:#2196f31f}.dark-mode .clickable-file:hover{background-color:#2196f34d}.file-badge{display:none}.notebook-cell{border:1px solid var(--jupyter-border);border-radius:4px;margin-bottom:20px;overflow:hidden}.cell-input{background-color:var(--jupyter-code-bg);border-bottom:1px solid var(--jupyter-border);display:flex;position:relative}.input-prompt{border-right:1px solid var(--jupyter-border);color:var(--jupyter-blue);font-family:Source Code Pro,monospace;font-weight:500;min-width:70px;padding:10px;text-align:right}.input-area{flex:1 1;overflow-x:auto;padding:10px}.code-area{color:var(--jupyter-text);font-family:Source Code Pro,monospace;font-size:.95rem;margin:0;white-space:pre-wrap}.code-area.python{color:#a6accd}.code-area.python .keyword{color:#89ddff}.code-area.python .string{color:#c3e88d}.code-area.python .comment{color:#676e95}.run-button{background-color:var(--jupyter-blue);color:#fff;font-size:14px;padding:8px 16px;right:16px;top:16px}.run-button:hover{transform:translateY(-1px)}.run-button.executed,.run-button:hover{background-color:var(--jupyter-green)}.cell-executing{background-color:var(--jupyter-code-bg);border-bottom:1px solid var(--jupyter-border);padding:10px}.typing-indicator{color:var(--jupyter-text);font-family:Source Code Pro,monospace;font-size:.95rem}.cell-output{display:flex}.output-prompt{border-right:1px solid var(--jupyter-border);color:#f07178;font-family:Source Code Pro,monospace;font-weight:500;min-width:70px;padding:10px;text-align:right}.output-result{background-color:var(--jupyter-output-bg);flex:1 1;padding:15px}.output-result pre{color:var(--jupyter-text);font-size:.95rem;margin:0;white-space:pre-wrap}.output-result pre,.python-content{font-family:Source Code Pro,monospace}.python-content{box-sizing:border-box;font-size:14px;line-height:1.6;width:100%}.code-section{box-shadow:0 4px 8px #0000001a;padding:12px 0}.code-area.python{counter-reset:line;font-family:JetBrains Mono,Source Code Pro,monospace;font-size:14px;line-height:1.6;padding-left:3.5em;position:relative}.code-area.python:before{background-color:#0000001a;border-right:1px solid var(--jupyter-border);content:"";height:100%;left:0;position:absolute;top:0;width:3em}.code-area.python>span{display:block;position:relative}.code-area.python>span:before{color:#6272a4;content:counter(line);counter-increment:line;font-size:.9em;left:-3em;padding-right:.5em;position:absolute;text-align:right;width:2.5em}.python-keyword{color:#ff79c6;font-weight:500}.python-string{color:#f1fa8c}.python-comment{color:#6272a4;font-style:italic}.python-function{color:#50fa7b}.python-class{color:#8be9fd}.python-number{color:#bd93f9}.python-operator{color:#ff79c6}.python-variable{color:#f8f8f2}.output-section{background-color:var(--jupyter-cell-bg);box-shadow:0 4px 8px #0000001a;margin-top:20px}.output-header{background-color:#0000001a;border-bottom:1px solid var(--jupyter-border);font-family:JetBrains Mono,Source Code Pro,monospace;font-size:14px;font-weight:500;padding:8px 16px}.run-button{align-items:center;background-color:#44475a;border:none;border-radius:4px;color:#f8f8f2;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;position:absolute;right:12px;top:12px;transition:all .2s ease}.run-button:before{content:"▶";font-size:10px}.run-button:hover{background-color:#6272a4}.run-button.executed{background-color:#50fa7b;color:#282a36}.run-button.executed:before{content:"✓"}.notebook-container:not(.dark-mode) .python-keyword{color:#d73a49}.notebook-container:not(.dark-mode) .python-string{color:#032f62}.notebook-container:not(.dark-mode) .python-comment{color:#6a737d}.notebook-container:not(.dark-mode) .python-function{color:#6f42c1}.notebook-container:not(.dark-mode) .python-class{color:#22863a}.notebook-container:not(.dark-mode) .python-number{color:#005cc5}.notebook-container:not(.dark-mode) .python-operator{color:#d73a49}.notebook-container:not(.dark-mode) .python-variable{color:#24292e}.notebook-container:not(.dark-mode) .run-button{background-color:#e1e4e8;color:#24292e}.notebook-container:not(.dark-mode) .run-button:hover{background-color:#d1d5da}.notebook-container:not(.dark-mode) .run-button.executed{background-color:#22863a;color:#fff}.main-content{padding-right:20px}.notebook-title{color:var(--jupyter-text);font-family:Source Code Pro,monospace}.theme-toggle{background-color:var(--jupyter-blue);border-radius:3px;color:#fff;font-family:Inter,sans-serif;font-size:.8rem;padding:4px 8px;transition:var(--transition)}.theme-toggle:hover{background-color:var(--jupyter-green)}.markdown-content{color:var(--jupyter-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6;padding:16px}.markdown-content h1,.markdown-content h2{border-bottom:1px solid var(--jupyter-border);padding-bottom:.3em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-content code{background-color:#1b1f230d;border-radius:3px;font-family:Source Code Pro,monospace;font-size:85%;margin:0;padding:.2em .4em}.markdown-content pre code{background-color:var(--jupyter-code-bg);border:1px solid var(--jupyter-border);border-radius:6px;display:block;overflow-x:auto;padding:16px}.markdown-content a{color:var(--jupyter-blue);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content img{border-radius:6px;height:auto;max-width:100%}.markdown-content blockquote{border-left:.25em solid var(--jupyter-border);color:var(--jupyter-text);margin:0;padding:0 1em}.markdown-content table{border-collapse:collapse;margin:16px 0;width:100%}.markdown-content table td,.markdown-content table th{border:1px solid var(--jupyter-border);padding:6px 13px}.markdown-content table tr:nth-child(2n){background-color:var(--jupyter-code-bg)}.notebook-container:not(.dark-mode){background-color:var(--jupyter-bg-light)}.notebook-container:not(.dark-mode) .code-section{background-color:var(--jupyter-code-bg-light);border-color:var(--jupyter-border-light)}.notebook-container:not(.dark-mode) .code-area.python{color:#24292e}.notebook-container:not(.dark-mode) .output-section{background-color:var(--jupyter-output-bg-light);border-color:var(--jupyter-border-light)}.notebook-container:not(.dark-mode) .output-content{color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .notebook-header{background-color:var(--jupyter-cell-bg-light);border-color:var(--jupyter-border-light)}.notebook-container:not(.dark-mode) .code-area.python>span:before{color:#8a919a}.notebook-container:not(.dark-mode) .code-area.python:before{background-color:#f1f1f1}.line-numbers{counter-reset:linenumber;font-family:JetBrains Mono,Source Code Pro,monospace;font-size:14px;line-height:1.6;margin:0;overflow:auto;padding-left:3.8em;position:relative;white-space:pre}.line-numbers>code{display:block;padding:0 1em;position:relative}.line-numbers .line-numbers-rows{border-right:1px solid #999;font-size:100%;left:0;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}.notebook-container:not(.dark-mode) pre[class*=language-]{background-color:#f5f7fa;color:#24292e}.notebook-container:not(.dark-mode) .token.cdata,.notebook-container:not(.dark-mode) .token.comment,.notebook-container:not(.dark-mode) .token.doctype,.notebook-container:not(.dark-mode) .token.prolog{color:#6a737d}.notebook-container:not(.dark-mode) .token.punctuation{color:#24292e}.notebook-container:not(.dark-mode) .token.boolean,.notebook-container:not(.dark-mode) .token.constant,.notebook-container:not(.dark-mode) .token.deleted,.notebook-container:not(.dark-mode) .token.number,.notebook-container:not(.dark-mode) .token.property,.notebook-container:not(.dark-mode) .token.symbol,.notebook-container:not(.dark-mode) .token.tag{color:#005cc5}.notebook-container:not(.dark-mode) .token.attr-name,.notebook-container:not(.dark-mode) .token.builtin,.notebook-container:not(.dark-mode) .token.char,.notebook-container:not(.dark-mode) .token.inserted,.notebook-container:not(.dark-mode) .token.selector,.notebook-container:not(.dark-mode) .token.string{color:#22863a}.notebook-container:not(.dark-mode) .language-css .token.string,.notebook-container:not(.dark-mode) .style .token.string,.notebook-container:not(.dark-mode) .token.atrule,.notebook-container:not(.dark-mode) .token.attr-value,.notebook-container:not(.dark-mode) .token.entity,.notebook-container:not(.dark-mode) .token.keyword,.notebook-container:not(.dark-mode) .token.operator,.notebook-container:not(.dark-mode) .token.url{color:#d73a49}.notebook-container:not(.dark-mode) .token.class-name,.notebook-container:not(.dark-mode) .token.function{color:#6f42c1}.python-code{background-color:#282a36;color:#f8f8f2;font-family:JetBrains Mono,Source Code Pro,monospace;font-size:14px;line-height:1.6;margin:0;overflow-x:auto;padding:16px 0;tab-size:4}.code-line{min-height:24px;padding-left:60px;position:relative}.line-number{color:#6272a4;font-size:12px;left:0;padding-right:16px;position:absolute;text-align:right;-webkit-user-select:none;user-select:none;width:40px}.py-keyword{color:#ff79c6;font-weight:500}.py-string{color:#f1fa8c}.py-comment{color:#6272a4;font-style:italic}.py-function{color:#50fa7b}.py-number{color:#bd93f9}.notebook-container:not(.dark-mode) .python-code{background-color:#f5f7fa;color:#24292e}.notebook-container:not(.dark-mode) .line-number{color:#8a919a}.notebook-container:not(.dark-mode) .py-keyword{color:#d73a49}.notebook-container:not(.dark-mode) .py-string{color:#032f62}.notebook-container:not(.dark-mode) .py-comment{color:#6a737d}.notebook-container:not(.dark-mode) .py-function{color:#6f42c1}.notebook-container:not(.dark-mode) .py-number{color:#005cc5}.rich-blue{color:#61afef}.rich-cyan{color:#56b6c2}.rich-green{color:#98c379}.rich-red{color:#e06c75}.bold{font-weight:700}.output-content{font-family:JetBrains Mono,Source Code Pro,monospace;font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}.readme-container{background-color:#fff;border:1px solid #e1e4e8;border-radius:6px;box-shadow:0 1px 3px #0000001f;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;margin-top:16px;overflow:hidden;padding:0}.dark-mode .readme-container{background-color:#0d1117;border-color:#30363d;color:#c9d1d9}.readme-header{align-items:center;background-color:#f6f8fa;border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:8px 16px}.dark-mode .readme-header{background-color:#161b22;border-bottom-color:#30363d}.readme-controls,.readme-title-section{align-items:center;display:flex}.view-toggle{background-color:#f6f8fa;border:1px solid #d1d5da;border-radius:3px;color:#24292e;cursor:pointer;font-size:12px;font-weight:500;padding:3px 8px;transition:background-color .2s}.view-toggle:hover{background-color:#e1e4e8}.view-toggle.active{background-color:#0366d6;border-color:#0366d6;color:#fff}.dark-mode .view-toggle{background-color:#161b22;border-color:#30363d;color:#c9d1d9}.dark-mode .view-toggle:hover{background-color:#30363d}.dark-mode .view-toggle.active{background-color:#1f6feb;border-color:#1f6feb;color:#fff}.raw-markdown{background-color:#f6f8fa;border-radius:3px;color:#24292e;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%;line-height:1.45;margin:0;overflow:auto;padding:16px;white-space:pre-wrap}.dark-mode .raw-markdown{background-color:#161b22;color:#c9d1d9}.readme-content{padding:16px}.readme-icon{color:#586069;margin-right:8px}.dark-mode .readme-icon{color:#8b949e}.readme-title{color:#24292e;font-size:16px;font-weight:600}.dark-mode .readme-title{color:#c9d1d9}.markdown-body{word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}.markdown-body h1{font-size:2em;margin-top:0}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;margin-bottom:16px;padding-bottom:.3em}.markdown-body h2{font-size:1.5em;margin-top:24px}.markdown-body h3{font-size:1.25em;margin-bottom:16px;margin-top:24px}.markdown-body h4{font-size:1em;margin-bottom:16px;margin-top:24px}.markdown-body p{margin-bottom:16px;margin-top:0}.markdown-body code{background-color:#1b1f230d;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;margin-bottom:16px;overflow:auto;padding:16px}.markdown-body pre code{background-color:initial;padding:0}.markdown-body ol,.markdown-body ul{margin-bottom:16px;margin-top:0;padding-left:2em}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;margin:0 0 16px;padding:0 1em}.dark-mode .markdown-body pre{background-color:#161b22}.dark-mode .markdown-body code{background-color:#6e768166}.dark-mode .markdown-body blockquote{border-left-color:#30363d;color:#8b949e}.python-content-wrapper{flex:1 1;overflow:hidden;position:relative}.python-content{padding:0 20px 20px}.code-section{background-color:var(--jupyter-code-bg);position:relative}.code-section,.output-section{border:1px solid var(--jupyter-border);border-radius:6px;margin-bottom:20px;overflow:hidden}.output-section{background-color:var(--jupyter-output-bg)}.related-projects{border-top:1px solid var(--jupyter-border);padding:20px}.python-content::-webkit-scrollbar{height:10px;width:10px}.python-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.python-content::-webkit-scrollbar-thumb{background:#0003;background-clip:content-box;border:2px solid #0000;border-radius:10px}.python-content::-webkit-scrollbar-thumb:hover{background:#0000004d;background-clip:content-box}.dark-mode .python-content::-webkit-scrollbar-track{background:#ffffff0d}.dark-mode .python-content::-webkit-scrollbar-thumb{background:#fff3;background-clip:content-box}.dark-mode .python-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:content-box}.python-content{height:100%;overflow-y:auto;padding:20px}.notebook-header{background-color:var(--jupyter-bg);margin-bottom:16px;padding:12px 20px}@media (max-width:920px){.python-content-wrapper .run-button{border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0003;font-size:16px;height:80px;position:fixed;right:20px;width:80px;z-index:1000}.python-content-wrapper .run-button.executed{background-color:var(--jupyter-green)}.python-content{padding-bottom:100px}}.json-viewer-container{display:flex;flex:1 1;flex-direction:column;height:100vh}.json-header{background-color:var(--jupyter-code-bg);border-bottom:1px solid var(--jupyter-border);padding:10px 20px}.file-tab{align-items:center;color:var(--jupyter-blue);display:flex;font-family:JetBrains Mono,monospace;font-size:.9rem;gap:8px}.json-content{background-color:var(--jupyter-code-bg);color:var(--jupyter-text);font-family:JetBrains Mono,Fira Code,Source Code Pro,monospace;font-size:15px;height:calc(100vh - 60px);line-height:1.8;overflow-y:auto;padding:20px 20px 20px 0}.json-line{margin:0;padding:3px 0;transition:background-color .2s ease;white-space:pre-wrap}.json-line:hover{background-color:#ffffff05}.dark-mode .json-line:hover{background-color:#ffffff08}.json-project{border-left:3px solid #0000;border-radius:6px;cursor:pointer;margin:8px 0;padding:4px;position:relative;transition:all .3s ease}.json-project:hover{background-color:#2196f31f;border-left-color:#2196f3;transform:translateX(2px)}.dark-mode .json-project:hover{background-color:#2196f32e;border-left-color:#42a5f5}.json-project.hovered{background-color:#2196f326;border-left-color:#2196f3;box-shadow:0 2px 8px #2196f333}.dark-mode .json-project.hovered{background-color:#2196f338;border-left-color:#42a5f5;box-shadow:0 2px 8px #2196f34d}.project-content{border-radius:6px;padding:10px 18px}.project-actions{display:flex;gap:8px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.source-link,.view-project-btn{align-items:center;background-color:#0366d6;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;text-decoration:none;transition:background-color .2s ease}.source-link:hover,.view-project-btn:hover{background-color:#0056b3}.source-link{background-color:#28a745}.source-link:hover{background-color:#218838}.property{color:#ff79c6;font-weight:600}.string{color:#50fa7b}.number{color:#ffb86c;font-weight:500}.boolean{color:#bd93f9;font-weight:600}.punctuation{color:#f8f8f2}.brace,.bracket{color:#8be9fd;font-weight:700}.notebook-container:not(.dark-mode) .property{color:#d73a49;font-weight:600}.notebook-container:not(.dark-mode) .string{color:#22863a}.notebook-container:not(.dark-mode) .number{color:#e36209;font-weight:500}.notebook-container:not(.dark-mode) .boolean{color:#6f42c1;font-weight:600}.notebook-container:not(.dark-mode) .punctuation{color:#24292e}.notebook-container:not(.dark-mode) .brace,.notebook-container:not(.dark-mode) .bracket{color:#005cc5;font-weight:700}.filter-controls{align-items:center;display:flex;gap:12px;margin-right:16px}.filter-label{color:var(--jupyter-text);font-size:14px}.category-filter{display:flex;flex-wrap:wrap;gap:8px}.category-button{background-color:initial;border:1px solid var(--jupyter-border);border-radius:16px;color:var(--jupyter-text);cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.category-button:hover{background-color:#2196f31a}.category-button.active{background-color:#0366d6;border-color:#0366d6;color:#fff}.dark-mode .category-button.active{background-color:#1f6feb;border-color:#1f6feb}.notebook-controls{align-items:center;display:flex}.json-content{counter-reset:line;padding-left:4.5em;position:relative}.json-content:before{background:linear-gradient(90deg,#0000000d 0,#00000014);border-right:2px solid var(--jupyter-border);content:"";height:calc(100vh - 60px);left:var(--sidebar-width);position:fixed;top:60px;width:4em;z-index:1}.dark-mode .json-content:before{background:linear-gradient(90deg,#ffffff05 0,#ffffff0d)}.json-line{padding:2px 0;position:relative}.json-line:before{color:#7c7c7c;content:counter(line);counter-increment:line;font-size:.85em;font-weight:500;left:-4em;padding-right:.75em;position:absolute;text-align:right;-webkit-user-select:none;user-select:none;width:3.5em}.dark-mode .json-line:before{color:#6e7681}@media (max-width:768px){.notebook-header{padding:12px 16px}.notebook-controls,.notebook-header{align-items:flex-start;flex-direction:column;gap:12px}.notebook-controls{width:100%}.filter-controls{align-items:flex-start;flex-direction:column;gap:8px;width:100%}.category-filter{overflow-x:auto;padding-bottom:8px;width:100%}.project-actions{justify-content:flex-end;margin-top:8px;padding:0 16px 8px;position:static;transform:none}}.notebook-container:not(.dark-mode) .json-viewer-container{background-color:var(--jupyter-cell-bg-light)}.notebook-container:not(.dark-mode) .json-header{background-color:var(--jupyter-code-bg-light)}.notebook-container:not(.dark-mode) .project-line:hover{background-color:#2196f30d}.main-content{height:100vh;margin-left:var(--sidebar-width)}.notebook-header{align-items:center;border-bottom:1px solid var(--jupyter-border);display:flex;justify-content:space-between;padding:10px 20px;position:-webkit-sticky;position:sticky;z-index:10}.notebook-header,.sidebar{background-color:var(--jupyter-cell-bg);top:0}.sidebar{border-right:1px solid var(--jupyter-border);height:100vh;left:0;overflow-y:auto;position:fixed;width:var(--sidebar-width);z-index:100}.json-content::-webkit-scrollbar{height:8px;width:8px}.json-content::-webkit-scrollbar-track{background:#0000}.json-content::-webkit-scrollbar-thumb{background-color:#64646480;border-radius:4px}.json-content::-webkit-scrollbar-thumb:hover{background-color:#646464b3}.project-list-container{background-color:#f8f9fa;color:#333;display:flex;min-height:100vh}.dark-mode.project-list-container{background-color:#1a1a1a;color:#f0f0f0}.main-content{padding:2rem}.project-list-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dark-mode .project-list-header{border-bottom-color:#333}.project-list-header h1{color:#333;font-size:2.5rem;font-weight:700;margin:0}.dark-mode .project-list-header h1{color:#f0f0f0}.controls{align-items:center;display:flex;gap:1rem}.theme-toggle{background-color:initial;border:1px solid #ddd;padding:.5rem 1rem;transition:all .2s ease}.theme-toggle:hover{background-color:#f0f0f0}.dark-mode .theme-toggle{border-color:#444;color:#ddd}.dark-mode .theme-toggle:hover{background-color:#2d2d2d}.project-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.project-card:hover{box-shadow:0 10px 20px #00000026;transform:translateY(-5px)}.dark-mode .project-card{background-color:#2d2d2d;box-shadow:0 4px 6px #0000004d}.project-image-container{height:180px;overflow:hidden;position:relative}.project-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{align-items:flex-end;background:linear-gradient(180deg,#0000 0,#000000b3);bottom:0;display:flex;left:0;opacity:0;padding:1rem;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-skills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background-color:#ffffffe6;border-radius:4px;color:#333;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.project-info{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.project-title{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 .75rem}.dark-mode .project-title{color:#f0f0f0}.project-description{color:#666;flex:1 1;font-size:.95rem;line-height:1.5;margin:0 0 1rem}.dark-mode .project-description{color:#bbb}.project-meta{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem}.dark-mode .project-meta{border-top-color:#444}.project-date{color:#888;font-size:.85rem}.dark-mode .project-date{color:#999}.project-link{color:#0366d6;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s ease}.project-link:hover{color:#0056b3;text-decoration:underline}.dark-mode .project-link{color:#58a6ff}.dark-mode .project-link:hover{color:#79b8ff}@media (max-width:768px){.project-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-list-header{gap:1rem}.controls,.project-list-header{align-items:flex-start;flex-direction:column}.controls{width:100%}.category-filter{overflow-x:auto;padding-bottom:.5rem;width:100%}}.markdown-container{background-color:var(--jupyter-bg);display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 60px);padding:20px}.tab-buttons{display:flex;gap:10px;margin-right:16px}.tab-button{background-color:var(--jupyter-code-bg);border:1px solid var(--jupyter-border);border-radius:4px;color:var(--jupyter-text);cursor:pointer;font-family:Inter,sans-serif;font-size:.8rem;padding:4px 12px;transition:all .2s ease}.tab-button.active{background-color:var(--jupyter-blue);border-color:var(--jupyter-blue);color:#fff}.tab-button:hover{background-color:var(--jupyter-green);border-color:var(--jupyter-green);color:#fff}.preview-content,.raw-content{background-color:var(--jupyter-code-bg);border:1px solid var(--jupyter-border);border-radius:4px;color:var(--jupyter-text);flex:1 1;height:100%;min-height:calc(100vh - 140px);overflow-y:auto;padding:16px}.raw-content{word-wrap:break-word;font-family:Source Code Pro,monospace;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.preview-content h1,.preview-content h2{border-bottom:1px solid var(--jupyter-border);padding-bottom:.3em}.preview-content h1,.preview-content h2,.preview-content h3,.preview-content h4,.preview-content h5,.preview-content h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.preview-content ul{padding-left:20px}.preview-content p{line-height:1.6;margin:16px 0}.preview-content code{background-color:#1b1f230d;border-radius:3px;font-family:Source Code Pro,monospace;font-size:85%;margin:0;padding:.2em .4em}.preview-content strong{font-weight:600}.preview-content em{font-style:italic}.notebook-container:not(.dark-mode) .markdown-container{background-color:var(--jupyter-bg-light)}.notebook-container:not(.dark-mode) .raw-content{background-color:var(--jupyter-code-bg-light);border-color:var(--jupyter-border-light);color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .preview-content{background-color:var(--jupyter-cell-bg-light);border-color:var(--jupyter-border-light);color:var(--jupyter-text-light)}.notebook-container:not(.dark-mode) .preview-content h1,.notebook-container:not(.dark-mode) .preview-content h2,.notebook-container:not(.dark-mode) .preview-content h3,.notebook-container:not(.dark-mode) .preview-content h4,.notebook-container:not(.dark-mode) .preview-content h5,.notebook-container:not(.dark-mode) .preview-content h6{color:#24292e}.notebook-container{display:flex;height:100vh;overflow:hidden}.main-content{display:flex;flex-direction:column;overflow:hidden}.preview-content::-webkit-scrollbar,.raw-content::-webkit-scrollbar{height:10px;width:10px}.preview-content::-webkit-scrollbar-track,.raw-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.preview-content::-webkit-scrollbar-thumb,.raw-content::-webkit-scrollbar-thumb{background:#0003;background-clip:content-box;border:2px solid #0000;border-radius:10px}.preview-content::-webkit-scrollbar-thumb:hover,.raw-content::-webkit-scrollbar-thumb:hover{background:#0000004d;background-clip:content-box}.dark-mode .preview-content::-webkit-scrollbar-track,.dark-mode .raw-content::-webkit-scrollbar-track{background:#ffffff0d}.dark-mode .preview-content::-webkit-scrollbar-thumb,.dark-mode .raw-content::-webkit-scrollbar-thumb{background:#fff3;background-clip:content-box}.dark-mode .preview-content::-webkit-scrollbar-thumb:hover,.dark-mode .raw-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:content-box}.about-image{border-radius:8px;box-shadow:0 4px 12px #00000026;display:block;height:auto;margin:24px auto;max-width:80%;transition:all .3s ease}.about-image:hover{box-shadow:0 6px 16px #0003;transform:scale(1.02)}.dark-mode .about-image{box-shadow:0 4px 12px #0000004d;filter:brightness(.9)}.image-container{background-color:var(--jupyter-code-bg);border-radius:10px;margin:30px 0;padding:10px;text-align:center}.image-caption{color:var(--jupyter-text);font-size:.9rem;font-style:italic;margin-top:10px;opacity:.8}.preview-content .image-container+p+.image-container,.preview-content h2+p+.image-container{margin-top:15px}@media (min-width:768px){.preview-content h2:last-of-type~.image-container{display:inline-block;margin:10px;vertical-align:top;width:calc(50% - 20px)}.preview-content h2:last-of-type~.image-container .about-image{height:220px;max-width:100%;object-fit:cover}}.about-image{max-height:400px;object-fit:cover}.resume-container{background-color:var(--jupyter-bg);height:calc(100vh - 60px);padding:20px}.resume-viewer{background-color:#fff;border:1px solid var(--jupyter-border);border-radius:4px}.download-button{align-items:center;background-color:var(--jupyter-blue);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;margin-right:10px;padding:6px 12px;text-decoration:none;transition:background-color .2s}.download-button:hover{background-color:var(--jupyter-green)}.download-button i{margin-right:6px}.dark-mode .resume-viewer{border-color:var(--jupyter-border-dark)}.view-counter{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.8rem}.view-counter-label{font-weight:500;margin-right:4px}.view-counter-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.view-counter-loading .view-counter-count{animation:pulse 1.5s infinite}.view-counter-error .view-counter-count{color:var(--text-tertiary);text-decoration:line-through}.blog-image-views{color:#fff;margin-left:4px}.blog-image-views .view-counter-count{font-weight:600}.view-counter-icon{align-items:center;display:inline-flex;margin-right:4px}.dark-mode .view-counter{color:var(--text-secondary-dark)}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.blog-stats{background-color:#f8f9fa;background-color:var(--bg-secondary,#f8f9fa);border-radius:8px;box-shadow:0 2px 4px #0000000d;margin:1.5rem 0;padding:1.5rem}.blog-stats-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.blog-stats-title{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0}.blog-stats-total{color:var(--text-secondary);font-size:.9rem;font-weight:500}.blog-stats-count{font-feature-settings:"tnum";color:#007bff;color:var(--accent-color,#007bff);font-variant-numeric:tabular-nums;font-weight:600}.blog-stats-subtitle{color:var(--text-primary);font-size:1rem;font-weight:500;margin:1rem 0 .75rem}.blog-stats-list{list-style:none;margin:0;padding:0}.blog-stats-list-item{border-bottom:1px solid #0000001a;border-bottom:1px solid var(--border-color,#0000001a);margin-bottom:.5rem;padding-bottom:.5rem}.blog-stats-list-item:last-child{border-bottom:none;margin-bottom:0}.blog-stats-link{align-items:center;color:var(--text-primary);display:flex;justify-content:space-between;padding:.25rem 0;text-decoration:none;transition:color .2s}.blog-stats-link:hover{color:#007bff;color:var(--accent-color,#007bff)}.blog-stats-post-title{font-size:.9rem;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-stats-post-views{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.8rem;font-variant-numeric:tabular-nums}.blog-stats-counters{display:none}.blog-stats-individual{margin-bottom:1.5rem;margin-top:1.5rem}.blog-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1rem}.blog-stats-card{background-color:#fff;background-color:var(--bg-primary,#fff);border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s,box-shadow .2s}.blog-stats-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-4px)}.blog-stats-card-link{color:inherit;display:block;text-decoration:none}.blog-stats-image-container{height:160px;overflow:hidden;position:relative;width:100%}.blog-stats-image{height:100%;object-fit:cover;transition:transform .3s;width:100%}.blog-stats-card:hover .blog-stats-image{transform:scale(1.05)}.blog-stats-card-views{align-items:center;background-color:#0009;border-radius:12px;color:#fff;display:flex;font-size:.75rem;gap:4px;padding:4px 8px;position:absolute;right:10px;top:10px}.blog-stats-card-views i{font-size:.8rem}.blog-stats-card-content{padding:1rem}.blog-stats-card-title{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.blog-stats-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.8rem;margin:0;overflow:hidden;text-overflow:ellipsis}.dark-mode .blog-stats{background-color:#2a2a2a;background-color:var(--bg-secondary-dark,#2a2a2a)}.dark-mode .blog-stats-count,.dark-mode .blog-stats-link:hover{color:#007bff;color:var(--accent-color-dark,var(--accent-color,#007bff))}.dark-mode .blog-stats-list-item{border-bottom-color:#ffffff1a;border-bottom-color:var(--border-color-dark,#ffffff1a)}.dark-mode .blog-stats-card{background-color:#333;background-color:var(--bg-primary-dark,#333)}.dark-mode .blog-stats-card-title{color:#f0f0f0;color:var(--text-primary-dark,#f0f0f0)}.dark-mode .blog-stats-card-description{color:#ccc;color:var(--text-secondary-dark,#ccc)}@media (max-width:768px){.blog-stats{padding:1rem}.blog-stats-header{align-items:flex-start;flex-direction:column}.blog-stats-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.blog-stats-image-container{height:140px}}.theme-toggle{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-family:Consolas,monospace;font-size:.9rem;gap:6px;padding:6px 12px;transition:background-color .2s,color .2s}.theme-toggle.dark{background-color:#ffd86b;box-shadow:0 2px 4px #00000040;color:#333}.theme-toggle.dark:hover{background-color:#ffe78e}.theme-toggle.light{background-color:#2a2a2a;box-shadow:0 2px 4px #00000026;color:#eee}.theme-toggle.light:hover{background-color:#3a3a3a}.theme-toggle i{font-size:1rem}@media (max-width:768px){.theme-toggle{font-size:.8rem;padding:6px 10px}.theme-toggle span{display:none}.theme-toggle i{font-size:1.1rem}}:root{--text-tertiary-light:#6c757d;--accent-color:#007bff;--text-tertiary-dark:#6c757d;--accent-color-dark:#0d6efd}.blogs-page-wrapper{background-color:#fff;background-color:var(--bg-primary-light);color:#2c3e50;color:var(--text-primary-light);display:flex;min-height:100vh;overflow:hidden;width:100%}.dark-mode.blogs-page-wrapper{background-color:#1e1e1e;background-color:var(--bg-primary-dark);color:#e0e0e0;color:var(--text-primary-dark)}.blogs-container{background-color:#fff;background-color:var(--bg-primary-light);flex:1 1;font-family:Consolas,monospace;min-height:0;overflow-y:auto;padding:2rem;width:100%}.dark-mode .blogs-container{background-color:#1e1e1e;background-color:var(--bg-primary-dark)}.blogs-folder{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1.5rem}@media (min-width:1201px){.blogs-folder{grid-template-columns:repeat(3,1fr)}}@media (min-width:901px) and (max-width:1200px){.blogs-folder{grid-template-columns:repeat(3,1fr)}}@media (min-width:701px) and (max-width:900px){.blogs-folder{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.blogs-folder{grid-template-columns:1fr}}.blog-card{background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:350px;min-width:320px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.blog-card-pinned{border:2px solid #007bff;border:2px solid var(--accent-color,#007bff);box-shadow:0 6px 12px #00000026;transform:translateY(-3px)}.blog-card-pinned:hover{box-shadow:0 12px 24px #0003;transform:translateY(-8px)}.blog-pinned{align-items:center;background-color:#007bff;background-color:var(--accent-color,#007bff);border-radius:12px;color:#fff;display:flex;font-size:.75rem;left:10px;padding:4px 8px;position:absolute;top:10px;transform:rotate(-30deg);z-index:2}.blog-pinned i{margin-right:0}.blog-img-container{height:35%;min-height:140px;overflow:hidden;position:relative}.blog-img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.blog-card:hover{box-shadow:0 10px 20px #00000026;transform:translateY(-5px)}.blog-card:hover .blog-img{transform:scale(1.05)}.blog-date{background-color:#000000b3;border-top-left-radius:8px;bottom:0;padding:5px 10px;right:0}.blog-date,.blog-view-counter{color:#fff;font-size:.75rem;position:absolute}.blog-view-counter{align-items:center;background-color:#0009;border-radius:12px;display:flex;gap:4px;padding:4px 8px;right:10px;top:10px}.blog-view-counter i{font-size:.8rem}.blog-image-views{display:inline}.blog-pdf-badge{align-items:center;background-color:#dc3545e6;border-radius:12px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:5px;left:10px;padding:5px 10px;position:absolute;top:10px}.blog-pdf-badge i{font-size:.9rem}.blog-content{display:flex;flex-direction:column;flex-grow:1;padding:18px}.blog-title{color:var(--text-primary);font-size:1.3rem;font-weight:600;line-height:1.3;margin-bottom:10px}.blog-description{color:var(--text-secondary);flex-grow:1;font-size:1rem;line-height:1.4;margin-bottom:12px}.blog-meta{align-items:center;color:var(--text-tertiary);display:flex;font-size:.85rem;justify-content:space-between;margin-top:auto}.blog-tags{display:flex;flex-wrap:wrap;gap:6px}.blog-tag{background-color:var(--bg-tertiary);border-radius:5px;color:var(--text-primary);font-size:.75rem;padding:4px 10px;transition:background-color .2s}.blog-tag:hover{background-color:#007bff;background-color:var(--accent-color);color:#fff}.blog-read-more{align-items:center;color:#007bff;color:var(--accent-color);display:flex;font-size:.85rem;font-weight:600;gap:6px;margin-left:8px}.dark-mode .blog-card{background-color:#2a2a2a;background-color:var(--bg-secondary-dark)}.dark-mode .blog-title{color:#e0e0e0;color:var(--text-primary-dark)}.dark-mode .blog-description{color:#a0a0a0;color:var(--text-secondary-dark)}.dark-mode .blog-tag{background-color:#252526;background-color:var(--bg-tertiary-dark);color:#e0e0e0;color:var(--text-primary-dark)}.dark-mode .blog-read-more{color:#0d6efd;color:var(--accent-color-dark)}.no-blogs{color:var(--text-secondary);font-style:italic;margin-top:3rem;text-align:center}@media (max-width:700px){.blogs-container{padding:1rem}.blog-card{height:auto;min-height:320px}.blog-img-container{height:35%;min-height:120px}}.blogs-stats{font-size:.9rem;margin-bottom:2rem;max-width:100%}.blogs-container .blogs-stats{display:none}.hidden-view-counters{display:none;height:0;overflow:hidden;position:absolute;visibility:hidden}.blogs-page-wrapper .main-content{background-color:#fff;background-color:var(--bg-primary-light);display:flex;flex:1 1;flex-direction:column;height:100vh;margin-left:250px;overflow-x:hidden;overflow-y:auto}.dark-mode.blogs-page-wrapper .main-content{background-color:#1e1e1e;background-color:var(--bg-primary-dark)}@media (max-width:768px){.blogs-page-wrapper{flex-direction:column;overflow:hidden}.blogs-page-wrapper .main-content{height:100vh;margin-left:0;overflow-y:auto}.blogs-container{flex:1 1;height:auto;overflow-y:auto;padding:1rem}}.blogs-header{background-color:#fff;background-color:var(--bg-primary-light);position:-webkit-sticky;position:sticky;top:0;z-index:10}.blogs-header .blogs-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0}.dark-mode .blogs-header{background-color:#1e1e1e;background-color:var(--bg-primary-dark)}@media (max-width:768px){.blogs-header{padding:1rem}.blogs-header .blogs-title{font-size:1.5rem}}@media (max-width:576px){.blogs-header{padding:.75rem}.blogs-header .blogs-title{font-size:1.3rem}.blogs-header-controls{gap:6px}.home-nav-button{font-size:13px;padding:6px 10px}.home-nav-button i{margin-right:4px}}@media (max-width:375px){.blogs-header{padding:.5rem}.blogs-header .blogs-title{font-size:1.1rem}.home-nav-button{padding:5px 8px}}.blogs-footer{border-top:1px solid #dce0e5;border-top:1px solid var(--border-color-light);margin-top:3rem;padding-top:1.5rem}.dark-mode .blogs-footer{border-top-color:#444;border-top-color:var(--border-color-dark)}.blogs-stats-footer{background-color:initial!important;box-shadow:none!important;font-size:.9rem;margin:0!important;padding:0!important}.blogs-stats-footer .blog-stats-title{color:#505a66;color:var(--text-secondary-light);font-size:1rem}.dark-mode .blogs-stats-footer .blog-stats-title{color:#a0a0a0;color:var(--text-secondary-dark)}.blogs-stats-footer .blog-stats-subtitle{color:#505a66;color:var(--text-secondary-light);font-size:.9rem;margin:.5rem 0}.dark-mode .blogs-stats-footer .blog-stats-subtitle{color:#a0a0a0;color:var(--text-secondary-dark)}.blogs-stats-footer .blog-stats-list-item{border-bottom-color:#dce0e5;border-bottom-color:var(--border-color-light,#0000000d);margin-bottom:.25rem;padding-bottom:.25rem}.dark-mode .blogs-stats-footer .blog-stats-list-item{border-bottom-color:#444;border-bottom-color:var(--border-color-dark,#ffffff0d)}.blogs-stats-footer .blog-stats-post-title{font-size:.8rem}.blogs-stats-footer .blog-stats-post-views{font-size:.75rem}@media (max-width:768px){.blogs-footer{margin-top:2rem;padding-top:1rem}}.blogs-header{align-items:center;border-bottom:1px solid #dce0e5;border-bottom:1px solid var(--border-color-light);display:flex;justify-content:space-between;padding:1rem 2rem}.dark-mode .blogs-header{border-bottom-color:#444;border-bottom-color:var(--border-color-dark)}.blogs-header-controls{align-items:center;display:flex;gap:10px}.home-nav-button{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;padding:6px 12px;transition:background-color .2s ease}.home-nav-button i{margin-right:5px}.home-nav-button:hover{background-color:#0069d9}.dark-mode .home-nav-button{background-color:#0d6efd}.dark-mode .home-nav-button:hover{background-color:#0b5ed7}@media (max-width:768px){.blogs-header{padding:1rem}}body,html{height:100%;overflow:hidden}:root{--text-primary-light:#2c3e50;--text-secondary-light:#505a66;--bg-primary-light:#fff;--bg-secondary-light:#f4f5f7;--bg-tertiary-light:#f1f3f5;--border-color-light:#dce0e5;--text-primary-dark:#e0e0e0;--text-secondary-dark:#a0a0a0;--bg-primary-dark:#1e1e1e;--bg-secondary-dark:#2a2a2a;--bg-tertiary-dark:#252526;--border-color-dark:#444;--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--bg-primary:var(--bg-primary-light);--bg-secondary:var(--bg-secondary-light);--bg-tertiary:var(--bg-tertiary-light);--border-color:var(--border-color-light)}.dark-mode{--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--bg-primary:var(--bg-primary-dark);--bg-secondary:var(--bg-secondary-dark);--bg-tertiary:var(--bg-tertiary-dark);--border-color:var(--border-color-dark)}.blog-post-container{bottom:0;color:#2c3e50;color:var(--text-primary);font-family:Consolas,monospace;height:100vh;left:0;min-height:100vh;overflow:hidden;position:fixed;right:0}.blog-post-container,.blog-post-header{background-color:#fff;background-color:var(--bg-primary);display:flex;top:0;width:100%}.blog-post-header{align-items:center;border-bottom:1px solid #dce0e5;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:1rem 2rem;position:-webkit-sticky;position:sticky;z-index:10}.dark-mode .blog-post-header{background-color:#1e1e1e;background-color:var(--bg-primary-dark);border-bottom-color:#444;border-bottom-color:var(--border-color-dark)}@media (max-width:768px){.blog-post-header{padding:.75rem 1rem}}.main-content{-webkit-overflow-scrolling:touch;background-color:#fff;background-color:var(--bg-primary);flex:1 1;height:100%;max-height:100vh;overflow-y:auto;position:relative}.blog-post-content{word-wrap:break-word;color:#2c3e50;color:var(--text-primary);-webkit-hyphens:auto;hyphens:auto;margin:0 auto;max-width:800px;overflow-wrap:break-word;padding:2rem}.blog-post-error,.blog-post-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:2rem;text-align:center}.blog-post-error h2{color:#e74c3c;margin-bottom:1rem}.back-button{align-items:center;background-color:#f4f5f7;background-color:var(--bg-secondary);border:none;border-radius:4px;color:#2c3e50;color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:Consolas,monospace;font-size:14px;margin-bottom:20px;padding:8px 16px;transition:background-color .2s,transform .2s}.back-button:hover{background-color:#f1f3f5;background-color:var(--bg-tertiary);transform:translateX(-3px)}.markdown-content{color:#2c3e50;color:var(--text-primary);line-height:1.8}.markdown-content h1{font-size:2.2rem;line-height:1.2;margin-bottom:1rem}.markdown-content h2{border-bottom:1px solid #dce0e5;border-bottom:1px solid var(--border-color);font-size:1.8rem;margin-bottom:1rem;margin-top:2rem;padding-bottom:.5rem}.markdown-content h3{font-size:1.4rem;margin-bottom:.75rem;margin-top:1.5rem}.markdown-content p{margin-bottom:1.5rem}.markdown-content ol,.markdown-content ul{margin-bottom:1.5rem;padding-left:2rem}.markdown-content li{margin-bottom:.5rem}.markdown-content blockquote{border-left:4px solid var(--accent-color);color:#505a66;color:var(--text-secondary);font-style:italic;margin-left:0;margin-right:0;padding-left:1rem}.blog-post-image{background-color:#f4f5f7;background-color:var(--bg-secondary);border-radius:4px;box-shadow:0 4px 10px #0000001a;display:block;height:auto;margin:1.5rem 0;max-width:100%;min-height:40vh;object-fit:cover;padding:1rem;transition:opacity .3s ease}.blog-post-code.inline-code{border:1px solid #dce0e5;border:1px solid var(--border-color);border-radius:4px;color:#2c3e50;color:var(--text-primary);font-family:Consolas,monospace;font-size:.9em;padding:2px 6px;white-space:nowrap}.blog-post-code.inline-code,.blog-post-pre{background-color:#f1f3f5;background-color:var(--bg-tertiary)}.blog-post-pre{-webkit-overflow-scrolling:touch;border-radius:8px;font-size:.9rem;margin:1.5rem 0;overflow-x:auto;padding:1rem;position:relative}.code-language{background-color:#0003;border-bottom-left-radius:4px;color:#505a66;color:var(--text-secondary);font-size:.7rem;letter-spacing:.5px;padding:2px 8px;position:absolute;right:0;text-transform:uppercase;top:0}.blog-post-code{font-family:Consolas,monospace}.blog-post-code.code-block{color:#2c3e50;color:var(--text-primary);display:block}.dark-mode .blog-post-code.inline-code{border-color:#444;border-color:var(--border-color-dark)}.dark-mode .blog-post-code.inline-code,.dark-mode .blog-post-pre{background-color:#252526;background-color:var(--bg-tertiary-dark)}.blog-post-footer{border-top:1px solid #dce0e5;border-top:1px solid var(--border-color);margin-top:3rem;padding-top:1.5rem}.blog-post-footer,.blog-post-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.blog-post-info{width:100%}.blog-post-metadata{align-items:center;color:#505a66;color:var(--text-secondary);display:flex;font-size:.85rem;gap:1rem}.blog-post-date,.blog-post-read-time,.blog-post-views{align-items:center;display:flex;gap:.4rem}.blog-post-metadata i{opacity:.7}.blog-post-share{gap:10px;margin-left:auto}.blog-post-share,.share-button{align-items:center;display:flex}.share-button{border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;height:36px;justify-content:center;transition:transform .2s;width:36px}.share-button:hover{transform:scale(1.1)}.share-button.twitter{background-color:#1da1f2}.share-button.linkedin{background-color:#0077b5}.share-button.facebook{background-color:#4267b2}.share-button.native{background-color:#28a745}.share-button.copy{background-color:#6c757d}.dark-mode .back-button,.dark-mode .blog-post-content{color:#e0e0e0;color:var(--text-primary-dark)}.dark-mode .back-button{background-color:#2a2a2a;background-color:var(--bg-secondary-dark)}.dark-mode .back-button:hover{background-color:#252526;background-color:var(--bg-tertiary-dark)}@media (max-width:768px){.blog-post-container{flex-direction:column;height:100%;position:fixed}.main-content{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;overflow-y:auto}.blog-post-content{height:auto;margin:0;padding:1rem;width:auto}.markdown-content h1{font-size:1.7rem;word-break:break-word}.markdown-content h2{font-size:1.3rem}.markdown-content h3{font-size:1.1rem}.blog-post-footer{align-items:flex-start;flex-direction:column}.back-button{font-size:.9rem;margin-bottom:15px;padding:8px 12px}.blog-post-pre{padding:.75rem}.blog-post-code.inline-code,.blog-post-pre{font-size:.8rem}.blog-post-image{margin:1rem 0;min-height:30vh;padding:.75rem}.share-button{font-size:.9rem;height:32px;width:32px}.blog-post-info{align-items:flex-start;flex-direction:column;gap:.75rem;width:100%}.blog-post-metadata{flex-wrap:wrap;gap:.75rem;row-gap:.5rem}.blog-post-share{align-self:flex-end;margin-left:0;margin-top:.75rem}}@media (max-width:480px){.blog-post-content{padding:.75rem}.markdown-content h1{font-size:1.5rem}.markdown-content li,.markdown-content p{font-size:.95rem}.code-language{font-size:.65rem;padding:1px 6px}.blog-post-image{min-height:25vh;padding:.5rem}}.blog-post-link{border-bottom:1px dotted var(--accent-color);color:var(--accent-color);text-decoration:none;transition:border-bottom .2s,color .2s}.blog-post-link:hover{border-bottom:1px solid var(--accent-color-hover,var(--accent-color));color:var(--accent-color);color:var(--accent-color-hover,var(--accent-color))}.dark-mode .blog-post-link{border-bottom:1px dotted var(--accent-color-dark,var(--accent-color));color:var(--accent-color);color:var(--accent-color-dark,var(--accent-color))}.dark-mode .blog-post-link:hover{border-bottom:1px solid var(--accent-color-dark-hover,var(--accent-color-dark,var(--accent-color)));color:var(--accent-color);color:var(--accent-color-dark-hover,var(--accent-color-dark,var(--accent-color)))}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-left:4px solid var(--accent-color);border-radius:50%;height:40px;margin-bottom:1rem;width:40px}.dark-mode .loading-spinner{border:4px solid #ffffff1a;border-left:4px solid var(--accent-color-dark,var(--accent-color))}.table-container{-webkit-overflow-scrolling:touch;margin:1.5rem 0;overflow-x:auto;width:100%}.blog-post-table{border-collapse:collapse;border-spacing:0;font-size:.9rem;width:100%}.blog-post-table td,.blog-post-table th{border-bottom:1px solid #dce0e5;border-bottom:1px solid var(--border-color);padding:8px 12px;text-align:left}.blog-post-table th{background-color:#f4f5f7;background-color:var(--bg-secondary);font-weight:600}.dark-mode .blog-post-table th{background-color:#2a2a2a;background-color:var(--bg-secondary-dark)}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:#fff;background:var(--bg-primary)}.main-content::-webkit-scrollbar-thumb{background-color:#dce0e5;background-color:var(--border-color);border-radius:4px}.dark-mode .main-content::-webkit-scrollbar-track{background:#1e1e1e;background:var(--bg-primary-dark)}.dark-mode .main-content::-webkit-scrollbar-thumb{background-color:#444;background-color:var(--border-color-dark,#444)}.reading-progress-container{background-color:#0000001a;height:4px;left:0;position:fixed;top:0;width:100%;z-index:1000}.reading-progress-bar{background-color:#007bff;background-color:var(--accent-color,#007bff);height:100%;transition:width .2s ease}.dark-mode .reading-progress-container{background-color:#ffffff1a}.dark-mode .reading-progress-bar{background-color:#007bff;background-color:var(--accent-color-dark,var(--accent-color,#007bff))}.blog-post-comments{border-top:1px solid #dce0e5;border-top:1px solid var(--border-color);margin:3rem 0;padding-top:2rem}.blog-post-comments h3{color:#2c3e50;color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem}.comments-container{min-height:200px;width:100%}.dark-mode .blog-post-comments{border-top-color:#444;border-top-color:var(--border-color-dark)}.markdown-content div[style*="display: flex"]{display:flex!important;flex-wrap:wrap;gap:10px;margin:20px 0;width:100%}.markdown-content div[style*="flex: 1"]{border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:1 1!important;min-width:250px;padding:15px}.markdown-content div[style*="background-color: #f8f9fa"]{background-color:#f8f9fa!important}.markdown-content div[style*="background-color: #e6f3ff"]{background-color:#e6f3ff!important}.markdown-content div[style*="background-color: #e6ffe6"]{background-color:#e6ffe6!important}.markdown-content h3[style*="color: black"]{color:#000!important;font-size:1.2rem;margin-top:0}.markdown-content p[style*="color: black"]{color:#000!important}.markdown-content pre[style*="color: black"]{background-color:#f5f5f5;border-radius:5px;color:#000!important;overflow-x:auto;padding:10px}.dark-mode .markdown-content div[style*="background-color: #f8f9fa"]{background-color:#2a2a2a!important}.dark-mode .markdown-content div[style*="background-color: #e6f3ff"]{background-color:#2d3748!important}.dark-mode .markdown-content div[style*="background-color: #e6ffe6"]{background-color:#2d3d2d!important}.dark-mode .markdown-content h3[style*="color: black"],.dark-mode .markdown-content p[style*="color: black"],.dark-mode .markdown-content pre[style*="color: black"]{color:#e0e0e0!important}.dark-mode .markdown-content pre[style*="color: black"]{background-color:#333}.markdown-content .comparison-table{border-collapse:collapse;margin:2rem 0;max-width:none;width:100%}@media (min-width:1200px){.markdown-content .comparison-table{left:50%;margin:2rem -10vw;max-width:1400px;position:relative;transform:translateX(-50%);width:120vw}}@media (min-width:1600px){.markdown-content .comparison-table{margin:2rem -15vw;max-width:1600px;width:100vw}}.markdown-content .comparison-table td{border:1px solid #dce0e5;border:1px solid var(--border-color);padding:1.5rem;vertical-align:top;width:50%}.markdown-content .comparison-table td h4{color:#2c3e50;color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem;margin-top:0;text-align:center}.markdown-content .comparison-table .blog-post-pre{font-size:.9rem;margin:0;width:100%}.dark-mode .markdown-content .comparison-table td{border-color:#444;border-color:var(--border-color-dark)}@media (max-width:768px){.markdown-content .comparison-table{left:auto!important;margin:2rem 0!important;position:static!important;transform:none!important;width:100%!important}.markdown-content .comparison-table,.markdown-content .comparison-table tbody,.markdown-content .comparison-table tr{display:block;width:100%}.markdown-content .comparison-table td{border:1px solid #dce0e5;border:1px solid var(--border-color);display:block;margin-bottom:1rem;padding:1rem;width:100%}.markdown-content .comparison-table .blog-post-pre{font-size:.8rem}}.blog-post-syntax-highlighter{-webkit-overflow-scrolling:touch;background-color:#f1f3f5!important;background-color:var(--bg-tertiary)!important;border-radius:8px!important;box-shadow:0 2px 8px #0000001a;margin:1.5rem 0!important;overflow-x:auto}.dark-mode .blog-post-syntax-highlighter{background-color:#252526!important;background-color:var(--bg-tertiary-dark)!important;box-shadow:0 2px 8px #0000004d}.blog-post-syntax-highlighter .linenumber{pointer-events:none;-webkit-user-select:none;user-select:none}.blog-post-syntax-highlighter pre{background:#0000!important;margin:0!important;overflow-x:auto;padding:1rem!important}.blog-post-syntax-highlighter>div{background-color:#f1f3f5!important;background-color:var(--bg-tertiary)!important}.dark-mode .blog-post-syntax-highlighter>div{background-color:#252526!important;background-color:var(--bg-tertiary-dark)!important}@media (max-width:768px){.blog-post-syntax-highlighter{font-size:.8rem!important;margin:1rem 0!important}.blog-post-syntax-highlighter pre{padding:.75rem!important}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.pdf-blog-post .main-content{display:flex;flex-direction:column;height:100vh;overflow-y:auto}.pdf-content{box-sizing:border-box;flex-direction:column;padding:20px}.pdf-content,.pdf-controls{align-items:center;display:flex;width:100%}.pdf-controls{background:var(--card-background);border-radius:10px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;max-width:1200px;padding:15px 20px}.dark-mode .pdf-controls{background:#1e1e1e;background:var(--card-dark-background,#1e1e1e);box-shadow:0 2px 8px #0000004d}.pdf-title-section h2{color:#333;color:var(--text-color,#333);font-size:1.2rem;font-weight:600;margin:0}.dark-mode .pdf-title-section h2{color:#e0e0e0;color:var(--text-dark,#e0e0e0)}.pdf-navigation{align-items:center;display:flex;gap:15px}.pdf-nav-button,.pdf-zoom-button{align-items:center;background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:8px 12px;transition:all .3s ease}.pdf-nav-button:hover:not(:disabled),.pdf-zoom-button:hover{background:#0056b3;background:var(--primary-hover,#0056b3);transform:translateY(-2px)}.pdf-nav-button:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.dark-mode .pdf-nav-button:disabled{background:#555}.pdf-page-info{color:#333;color:var(--text-color,#333);font-size:14px;font-weight:500;min-width:120px;text-align:center}.dark-mode .pdf-page-info{color:#e0e0e0;color:var(--text-dark,#e0e0e0)}.pdf-zoom-controls{align-items:center;display:flex;gap:10px}.pdf-zoom-level{color:#333;color:var(--text-color,#333);font-size:14px;font-weight:500;min-width:50px;text-align:center}.dark-mode .pdf-zoom-level{color:#e0e0e0;color:var(--text-dark,#e0e0e0)}.pdf-download-button{align-items:center;background:#28a745;background:var(--success-color,#28a745);border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.pdf-download-button:hover{background:#218838;background:var(--success-hover,#218838);transform:translateY(-2px)}.pdf-viewer-container{align-items:flex-start;background:#f5f5f5;background:var(--background-light,#f5f5f5);border-radius:10px;box-shadow:0 4px 12px #0000001a;display:flex;height:800px;justify-content:center;margin-bottom:30px;max-width:1200px;min-height:800px;overflow:hidden;width:100%}.dark-mode .pdf-viewer-container{background:#2a2a2a;background:var(--background-dark,#2a2a2a);box-shadow:0 4px 12px #0000004d}.pdf-iframe-viewer{border:none;border-radius:10px;height:100%;width:100%}.pdf-page{border-radius:4px;box-shadow:0 2px 8px #0003;overflow:hidden}.dark-mode .pdf-page{box-shadow:0 2px 8px #00000080}.pdf-page canvas{display:block;height:auto!important;max-width:100%}.pdf-loading{align-items:center;color:#333;color:var(--text-color,#333);display:flex;flex-direction:column;justify-content:center;min-height:400px}.dark-mode .pdf-loading{color:#e0e0e0;color:var(--text-dark,#e0e0e0)}.pdf-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-left:4px solid var(--primary-color,#007bff);border-radius:50%;height:50px;margin-bottom:15px;width:50px}.dark-mode .pdf-loading .loading-spinner{border-color:#ffffff1a #ffffff1a #ffffff1a #007bff;border-left-color:var(--primary-color,#007bff)}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.pdf-controls{align-items:stretch;flex-direction:column;gap:10px}.pdf-download-button,.pdf-navigation,.pdf-zoom-controls{justify-content:center}.pdf-download-button{width:100%}.pdf-content,.pdf-viewer-container{padding:10px}}.react-pdf__Page__textContent{bottom:0;left:0;line-height:1;opacity:.2;overflow:hidden;position:absolute;right:0;top:0}.react-pdf__Page__textContent span{color:#0000;cursor:text;position:absolute;transform-origin:0 0;white-space:pre}.react-pdf__Page__annotations{bottom:0;left:0;position:absolute;right:0;top:0}.react-pdf__Page__annotations .linkAnnotation>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.react-pdf__Page__annotations .linkAnnotation>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.timeline-container{scrollbar-color:#2196f34d #0000;scrollbar-width:thin}.timeline-container::-webkit-scrollbar,.timeline::-webkit-scrollbar{width:8px}.timeline-container::-webkit-scrollbar-track,.timeline::-webkit-scrollbar-track{background:#0000}.timeline-container::-webkit-scrollbar-thumb,.timeline::-webkit-scrollbar-thumb{background-color:#2196f34d;border:2px solid var(--jupyter-cell-bg);border-radius:10px}.timeline-container::-webkit-scrollbar-thumb:hover,.timeline::-webkit-scrollbar-thumb:hover{background-color:#2196f380}.timeline-container:not(:hover)::-webkit-scrollbar-thumb,.timeline:not(:hover)::-webkit-scrollbar-thumb{background-color:#2196f31a}.timeline-header{margin-bottom:40px;text-align:center}.timeline-header h1{background:linear-gradient(135deg,var(--jupyter-blue),#4cc9f0);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.2rem;margin-bottom:10px}.timeline-header p{color:var(--jupyter-text);font-size:1.1rem;margin:0 auto 25px;max-width:700px;opacity:.8}.timeline-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.filter-btn{background-color:var(--jupyter-code-bg);border:none;border-radius:6px;color:var(--jupyter-text);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.filter-btn:hover{background-color:#2196f326;transform:translateY(-2px)}.filter-btn.active{background-color:var(--jupyter-blue);color:#fff}.timeline{min-height:500px}.timeline-line{background:var(--jupyter-blue);border-radius:2px;height:100%;left:50%;position:absolute;top:0;transform:translateX(-50%);width:4px;z-index:0}.timeline-item{margin-bottom:60px;position:relative;width:45%;z-index:1}.timeline-item.left{clear:both;float:left}.timeline-item.right{clear:both;float:right}.timeline-content{background-color:var(--jupyter-code-bg);border-radius:10px;box-shadow:0 4px 16px #0000001a;padding:20px;position:relative;transition:all .3s ease}.timeline-content:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-5px)}.timeline-item.left .timeline-content:after{border-left:15px solid var(--jupyter-code-bg);right:-15px}.timeline-item.left .timeline-content:after,.timeline-item.right .timeline-content:after{border-bottom:15px solid #0000;border-top:15px solid #0000;content:"";height:0;position:absolute;top:20px;width:0}.timeline-item.right .timeline-content:after{border-right:15px solid var(--jupyter-code-bg);left:-15px}.timeline-icon{align-items:center;background-color:var(--jupyter-blue);border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;position:absolute;top:15px;width:40px;z-index:1}.timeline-item.left .timeline-icon{right:-62px}.timeline-item.right .timeline-icon{left:-62px}.timeline-date{background-color:#2196f31a;border-radius:4px;color:var(--jupyter-blue);display:inline-block;font-size:.85rem;font-weight:500;margin-bottom:10px;padding:4px 10px}.timeline-title{color:var(--jupyter-blue);font-size:1.2rem;margin-bottom:8px}.timeline-description{color:var(--jupyter-text);font-size:.95rem;line-height:1.5;margin-bottom:10px}.timeline-link{color:var(--jupyter-blue);display:inline-block;font-size:.9rem;font-weight:500;margin-top:8px;text-decoration:none;transition:all .2s ease}.timeline-link:hover{color:#0c7cd5;text-decoration:underline}.timeline-link i{font-size:.8rem;margin-left:4px}.timeline-item.project .timeline-icon{background-color:#3498db}.timeline-item.work .timeline-icon{background-color:#2ecc71}.timeline-item.education .timeline-icon{background-color:#9b59b6}.timeline-item.event .timeline-icon{background-color:#f39c12}.timeline:after{clear:both;content:"";display:table;height:0;width:100%}.dark-mode .timeline-container{background-color:var(--jupyter-cell-bg)}.dark-mode .timeline-content{background-color:var(--jupyter-code-bg)}.dark-mode .timeline-item.left .timeline-content:after{border-left-color:var(--jupyter-code-bg)}.dark-mode .timeline-item.right .timeline-content:after{border-right-color:var(--jupyter-code-bg)}@media (max-width:768px){.timeline-line{left:40px}.timeline-item{margin-left:80px;width:calc(100% - 80px)}.timeline-item.left,.timeline-item.right{float:none}.timeline-item.left .timeline-content:after,.timeline-item.right .timeline-content:after{border-left:0;border-right:15px solid var(--jupyter-code-bg);left:-15px;right:auto}.timeline-item.left .timeline-icon,.timeline-item.right .timeline-icon{left:-60px;right:auto}.filter-btn{font-size:.8rem;padding:6px 12px}}@media (max-width:576px){.timeline-header h1{font-size:1.8rem}.timeline-header p{font-size:.95rem}.timeline-line{left:20px}.timeline-item{margin-left:50px;width:calc(100% - 50px)}.timeline-item.left .timeline-icon,.timeline-item.right .timeline-icon{font-size:.8rem;height:30px;left:-40px;width:30px}.timeline-date{font-size:.75rem}.timeline-title{font-size:1.1rem}.timeline-description{font-size:.85rem}}.timeline-item.future .timeline-content{background-color:#2196f30d;border:2px dashed #2196f380}.dark-mode .timeline-item.future .timeline-content{background-color:#2196f31a}.future-badge{align-items:center;background-color:var(--jupyter-blue);border-radius:20px;box-shadow:0 2px 5px #0003;color:#fff;display:flex;font-size:.8rem;font-weight:500;gap:5px;padding:4px 10px;position:absolute;right:20px;top:-12px}.future-badge i{font-size:.7rem}.timeline-item.future.left .timeline-content:after{border-left-color:#2196f30d}.timeline-item.future.right .timeline-content:after{border-right-color:#2196f30d}.dark-mode .timeline-item.future.left .timeline-content:after{border-left-color:#2196f31a}.dark-mode .timeline-item.future.right .timeline-content:after{border-right-color:#2196f31a}.timeline-page{background-color:var(--jupyter-cell-bg);display:flex;min-height:100vh;position:relative;width:100%}.timeline-page-content{box-sizing:border-box;flex:1 1;height:100vh;margin-left:var(--sidebar-width);overflow-y:auto;padding:30px 20px;scrollbar-color:#2196f34d #0000;scrollbar-width:thin}.timeline-page-content::-webkit-scrollbar{width:8px}.timeline-page-content::-webkit-scrollbar-track{background:#0000}.timeline-page-content::-webkit-scrollbar-thumb{background-color:#2196f34d;border:2px solid var(--jupyter-cell-bg);border-radius:10px}.timeline-page-content::-webkit-scrollbar-thumb:hover{background-color:#2196f380}.timeline-page-content:not(:hover)::-webkit-scrollbar-thumb{background-color:#2196f31a}.timeline-container{background-color:var(--jupyter-cell-bg);border-radius:12px;box-shadow:var(--jupyter-shadow);font-family:Inter,sans-serif;margin:40px auto;max-width:1200px;overflow:visible;padding:20px}.timeline{margin:0 auto;max-width:1000px;overflow:visible;padding-bottom:50px;position:relative}.timeline-page-header{background-color:var(--jupyter-code-bg);border-radius:12px;box-shadow:var(--jupyter-shadow);margin:20px auto 40px;max-width:800px;padding:20px;text-align:center}.timeline-page-header h1{background:linear-gradient(135deg,var(--jupyter-blue),#4cc9f0);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.5rem;margin-bottom:15px}.timeline-page-header p{color:var(--jupyter-text);font-size:1.1rem;line-height:1.6;opacity:.9}.timeline-page-footer{background-color:var(--jupyter-code-bg);border-radius:12px;box-shadow:var(--jupyter-shadow);margin:40px auto 20px;max-width:800px;padding:20px;text-align:center}.timeline-page-footer p{color:var(--jupyter-text);font-size:.95rem;opacity:.8}.dark-mode.timeline-page{background-color:var(--jupyter-cell-bg)}.dark-mode .timeline-page-footer,.dark-mode .timeline-page-header{background-color:var(--jupyter-code-bg)}@media (max-width:768px){.timeline-page-content{margin-left:0;padding:20px 15px}.timeline-page-header h1{font-size:2rem}.timeline-page-header p{font-size:1rem}.timeline-page-footer,.timeline-page-header{margin:15px auto 30px;padding:15px}}@media (max-width:576px){.timeline-page-header h1{font-size:1.8rem}.timeline-page-header p{font-size:.9rem}.timeline-page-footer,.timeline-page-header{margin:10px auto 25px;padding:12px}.timeline-page-footer p{font-size:.85rem}}
/*# sourceMappingURL=main.3394e22a.css.map*/