@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-sans:"Inter",sans-serif;--transition-speed:.4s;--torch-size:clamp(140px,30vw,300px);--bg:#f5f5f5;--text:#1a202c;--text-light:#5a6474;--card-bg:#ffffffb3;--card-border:#e2e8f0;--primary:#2563eb;--glow-color:#3b82f633;--success-color:#10b981}.dark{--bg:#0a0a0a;--text:#e2e8f0;--text-light:#94a3b8;--card-bg:#1a1a1a80;--card-border:#2a2a2a;--primary:#60a5fa;--glow-color:#60a5fa1a;--success-color:#34d399}.torch{--bg:#000;--text:#fff4e6;--text-light:#ffe5d0;--card-bg:#1a1a1a80;--card-border:#2a2a2a;--primary:#ffa94d;--glow-color:#ffa94d33;--success-color:#34d399;--torch-glow:#ff922b26;--torch-size:clamp(200px,40vw,400px);--mouse-x:50%;--mouse-y:50%;cursor:url(/cursors/torch-cursor.svg) 16 38,auto!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text-light);transition:background-color var(--transition-speed),color var(--transition-speed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default}.portfolio-container{will-change:transform;backface-visibility:hidden;perspective:1000px;grid-template-columns:1fr 1.2fr;gap:4rem;max-width:1400px;margin:0 auto;padding:0 4rem;display:grid;transform:translateZ(0)}.left-pane{flex-direction:column;justify-content:space-between;height:100vh;padding:6rem 0;display:flex;position:sticky;top:0}.right-pane{padding:6rem 0}@media (max-width:1024px){.portfolio-container{padding:0 2rem;display:block}.left-pane{height:auto;padding:4rem 0 2rem;position:static}.right-pane{padding:2rem 0}}.name-title{color:var(--text);margin-bottom:.5rem;font-size:clamp(2.5rem,5vw,3rem)}.job-title{color:var(--text);margin-bottom:1.5rem;font-size:1.25rem}.summary{max-width:400px;line-height:1.7}.page-nav{flex-direction:column;gap:1rem;margin-top:3rem;display:flex}.page-nav a{color:var(--text-light);transition:color var(--transition-speed);font-weight:500;text-decoration:none}.page-nav a:hover{color:var(--text)}.social-links{gap:1.5rem;display:flex}.social-links a{color:var(--text-light);transition:color var(--transition-speed),transform var(--transition-speed);font-size:1.5rem}.social-links a:hover{color:var(--text);transform:translateY(-3px)}.section-title{color:var(--text);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2rem;font-size:1.2rem;font-weight:600}.card{background-color:var(--card-bg);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform var(--transition-speed),border-color var(--transition-speed),box-shadow var(--transition-speed);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;position:relative}.card:hover{border-color:var(--primary);box-shadow:0 0 20px 0 var(--glow-color);transform:translateY(-5px)}.card-header{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.card-header h4{color:var(--text);font-weight:600}.card-header p{font-size:.9rem}.experience-card ul{padding-left:1.2rem;list-style-position:outside}.experience-card ul li{margin-bottom:.5rem}.project-link{color:inherit;text-decoration:none;display:block}.tech-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{background-color:color-mix(in srgb,var(--primary)15%,transparent);color:var(--primary);border-radius:15px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.education-institution{color:var(--text);margin-bottom:.25rem;font-weight:500}.education-details{font-size:.9rem}.skills-section{margin-top:4rem}.skills-grid{flex-wrap:wrap;gap:1.5rem;display:flex}.skill-item{color:var(--text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.main-footer{border-top:1px solid var(--card-border);margin-top:4rem;padding-top:2rem;font-size:.9rem}.email-box{border:1px solid var(--card-border);border-radius:8px;justify-content:space-between;align-items:center;max-width:400px;margin-top:3rem;margin-bottom:2rem;padding:.75rem 1rem;display:flex}.email-box span{color:var(--text-light);font-size:.9rem;font-weight:500}.email-box button{color:var(--text-light);cursor:pointer;transition:color var(--transition-speed);background:0 0;border:none;padding:.5rem;font-size:1rem}.email-box button:hover{color:var(--text)}.email-box .copied-icon{color:var(--success-color)}.fade-in-section{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(20px)}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.theme-switcher{z-index:999;background-color:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:5px;display:flex;position:fixed;top:1.5rem;right:2rem}.theme-switcher button{color:var(--text-light);cursor:pointer;transition:all var(--transition-speed);background:0 0;border:none;border-radius:50%;padding:.75rem;font-size:1.25rem;display:flex}.theme-switcher button:hover{color:var(--text)}.theme-switcher button.active{background-color:var(--primary);color:#fff}.torch .portfolio-container{will-change:mask-image;-webkit-mask-image:radial-gradient(var(--torch-size)at var(--mouse-x,50%)var(--mouse-y,50%),black 30%,transparent 70%);-webkit-mask-image:radial-gradient(var(--torch-size)at var(--mouse-x,50%)var(--mouse-y,50%),black 30%,transparent 70%);mask-image:radial-gradient(var(--torch-size)at var(--mouse-x,50%)var(--mouse-y,50%),black 30%,transparent 70%);transition:-webkit-mask-image .1s ease-out;position:relative}.torch .portfolio-container:before{content:"";pointer-events:none;background:radial-gradient(var(--torch-size)at var(--mouse-x,50%)var(--mouse-y,50%),var(--torch-glow),transparent 70%);z-index:1;transition:background .1s ease-out;position:fixed;inset:0}.torch .portfolio-container>*{z-index:2;position:relative}.torch:after{display:none}.chat-fab{z-index:1000;background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.5rem;transition:transform .2s ease-in-out;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 12px #0003}.chat-fab:hover{transform:scale(1.1)}.chat-window{z-index:1000;background-color:var(--bg);border:1px solid var(--card-border);opacity:0;pointer-events:none;border-radius:12px;flex-direction:column;width:350px;height:500px;transition:transform .3s,opacity .3s;display:flex;position:fixed;bottom:6rem;right:2rem;transform:translateY(20px)scale(.95);box-shadow:0 8px 24px #0003}.chat-window.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}@media (max-width:480px){.chat-window{width:90vw;height:70vh;bottom:5rem;right:5vw}:root{--torch-size:140px}.theme-switcher{padding:4px;top:1rem;right:1rem}.theme-switcher button{padding:.5rem;font-size:1rem}}@media (max-width:768px){.torch{--torch-size:clamp(140px,50vw,200px);touch-action:pan-y pinch-zoom}.torch .portfolio-container{touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.torch .portfolio-container:before{pointer-events:none;touch-action:none}.theme-switcher button{min-width:44px;min-height:44px}.chat-fab{width:56px;height:56px;bottom:1rem;right:1rem}}@media (hover:none){.torch,.torch *{cursor:default!important}.card:hover,.social-links a:hover{transform:none}}.chat-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.chat-header h3{color:var(--text);font-size:1rem;font-weight:600}.chat-header button{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:1rem}.chat-box{flex-grow:1;padding:1rem;overflow-y:auto}.message{gap:.75rem;max-width:90%;margin-bottom:1rem;display:flex}.message.user{flex-direction:row-reverse;margin-left:auto}.message p{border-radius:18px;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}.message.assistant p{background-color:var(--card-bg);border:1px solid var(--card-border);color:var(--text-light);border-top-left-radius:4px}.message.user p{background-color:var(--primary);color:#fff;border-bottom-right-radius:4px}.message .avatar{background-color:var(--card-bg);border:1px solid var(--card-border);width:32px;height:32px;color:var(--text-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input{border-top:1px solid var(--card-border);padding:.75rem;display:flex}.chat-input input{background-color:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:20px;outline:none;flex-grow:1;padding:.75rem 1rem;font-size:.9rem}.chat-input input:focus{border-color:var(--primary)}.chat-input button{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-left:.5rem;padding:.75rem;font-size:1.2rem}.chat-input button:disabled{color:var(--text-light);cursor:not-allowed}.loading-dots span{font-size:1.5rem;line-height:0;animation-name:blink;animation-duration:1.4s;animation-iteration-count:infinite;animation-fill-mode:both}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.torch{--torch-cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='48' viewBox='0 0 32 48' fill='none'%3E%3Cpath d='M14 44h4v4h-4zM14 2c0 4 1 8 2 10 1-2 2-6 2-10h-4z' fill='%23855E3A'/%3E%3Cpath d='M16 12c-4 0-8 3-8 8 0 3 2 5 3 6 2 2 3 4 3 6h4c0-2 1-4 3-6 1-1 3-3 3-6 0-5-4-8-8-8z' fill='%23FFA94D'/%3E%3Cpath d='M16 12c-2 0-4 3-4 8 0 3 1 5 1.5 6 1 2 1.5 4 1.5 6h2c0-2 .5-4 1.5-6 .5-1 1.5-3 1.5-6 0-5-2-8-4-8z' fill='%23FFD43B'/%3E%3C/svg%3E");cursor:var(--torch-cursor)16 44,auto!important}.torch :not(button):not(a):not(input):not([role=button]){cursor:var(--torch-cursor)16 44,auto!important}.torch button,.torch a,.torch input,.torch [role=button],.torch .chat-fab,.torch .project-link,.torch .social-links a,.torch .theme-switcher button{cursor:var(--torch-cursor)16 34,pointer!important}.torch .portfolio-container:before{pointer-events:none;z-index:0}.torch .chat-window,.torch .theme-switcher,.torch .card{cursor:var(--torch-cursor)16 44,auto!important}.torch{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='48' viewBox='0 0 32 48' fill='none'%3E%3Cpath d='M14 44h4v4h-4zM14 2c0 4 1 8 2 10 1-2 2-6 2-10h-4z' fill='%23855E3A'/%3E%3Cpath d='M16 12c-4 0-8 3-8 8 0 3 2 5 3 6 2 2 3 4 3 6h4c0-2 1-4 3-6 1-1 3-3 3-6 0-5-4-8-8-8z' fill='%23FFA94D'/%3E%3Cpath d='M16 12c-2 0-4 3-4 8 0 3 1 5 1.5 6 1 2 1.5 4 1.5 6h2c0-2 .5-4 1.5-6 .5-1 1.5-3 1.5-6 0-5-2-8-4-8z' fill='%23FFD43B'/%3E%3C/svg%3E") 16 44,auto}.torch button,.torch a,.torch input,.torch .project-link,.torch .chat-fab,.torch .social-links a{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='48' viewBox='0 0 32 48' fill='none'%3E%3Cpath d='M14 44h4v4h-4zM14 2c0 4 1 8 2 10 1-2 2-6 2-10h-4z' fill='%23855E3A'/%3E%3Cpath d='M16 12c-4 0-8 3-8 8 0 3 2 5 3 6 2 2 3 4 3 6h4c0-2 1-4 3-6 1-1 3-3 3-6 0-5-4-8-8-8z' fill='%23FFA94D'/%3E%3Cpath d='M16 12c-2 0-4 3-4 8 0 3 1 5 1.5 6 1 2 1.5 4 1.5 6h2c0-2 .5-4 1.5-6 .5-1 1.5-3 1.5-6 0-5-2-8-4-8z' fill='%23FFD43B'/%3E%3C/svg%3E") 16 34,pointer}
