@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}

/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-\[1px\]{top:1px}.top-\[60\%\]{top:60%}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:calc(10*-1)}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-start-1{grid-row-start:1}.container{width:100%}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-full{height:100%}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab}.bg-gradient-to-b,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-\[clamp\(1\.6rem\,4vw\,3rem\)\]{font-size:clamp(1.6rem,4vw,3rem)}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-none{--tw-leading:1;line-height:1}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-transparent{color:#0000}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[260ms\]{--tw-duration:.26s;transition-duration:.26s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[\#0A84FF\]:focus-visible{outline-color:#0a84ff}.focus-visible\:outline-\[\#007AFF\]:focus-visible{outline-color:#007aff}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}body,html{max-width:100%;margin:0;padding:0;overflow-x:hidden;background-color:var(--app-bg)!important}html{scroll-behavior:smooth}body{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}*{scrollbar-width:thin;scrollbar-color:#6b7280 transparent}::-webkit-scrollbar{background:0 0;width:8px}::-webkit-scrollbar-track{background:0 0;border:none;margin:0}::-webkit-scrollbar-thumb{background:#6b7280;border:none;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::-webkit-scrollbar-button{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:single-button{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:double-button{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:start{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:end{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:horizontal{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#6b7280 transparent}.custom-scrollbar::-webkit-scrollbar{background:0 0;width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0;border:none;margin:0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#6b7280;border:none;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.custom-scrollbar::-webkit-scrollbar-button{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar::-webkit-scrollbar-button:single-button{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar::-webkit-scrollbar-button:double-button{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar::-webkit-scrollbar-button:start{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar::-webkit-scrollbar-button:end{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar::-webkit-scrollbar-button:vertical{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.custom-scrollbar::-webkit-scrollbar-button:horizontal{background:0 0!important;border:none!important;width:0!important;height:0!important;display:none!important}.simplebar-scrollbar{background:#6b7280!important;border-radius:4px!important;width:8px!important}.simplebar-scrollbar:hover{background:#9ca3af!important}.simplebar-track.simplebar-vertical{background:0 0!important;width:8px!important}.simplebar-track.simplebar-horizontal{display:none!important}.simplebar-content-wrapper,.smooth-scroll{scroll-behavior:smooth!important}.portfolio-main .simplebar-content-wrapper{overscroll-behavior:contain;scroll-behavior:smooth!important}.simplebar-scrollbar{transition:all .2s!important}.app-shell{background:var(--app-bg);height:100vh;min-height:100vh;display:flex;overflow-x:hidden}.shell-separator{background:linear-gradient(#822ddc00 0 15%,#822ddc4d 25%,#822ddccc 50%,#822ddc4d 75%,#822ddc00 85% 100%);width:1px;min-height:100vh}.portfolio-sidebar{z-index:10;background:var(--sidebar-bg);width:260px;min-width:240px;color:var(--text-primary);flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:4px 0 20px #0003}.sidebar-grid{z-index:0;opacity:var(--dot-grid-opacity);position:absolute;inset:0}.sidebar-brand,.sidebar-footer,.sidebar-nav{z-index:1;position:relative}.sidebar-brand{margin-bottom:28px}.sidebar-brand h1{margin:0 0 6px;font-size:1.35rem;font-weight:800;line-height:1.1}.sidebar-brand p,.sidebar-footer{color:var(--sidebar-footer-color);margin:0;font-size:.86rem}.sidebar-nav{flex-direction:column;gap:12px;display:flex}.sidebar-link{width:100%;height:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0 13px;display:flex}.sidebar-link span{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:650;overflow:hidden}.sidebar-footer{flex-direction:column;gap:0;margin-top:auto;padding-top:28px;display:flex}.portfolio-main{background-color:var(--app-bg);background-image:linear-gradient(var(--grid-line)1px,transparent 1px),linear-gradient(90deg,var(--grid-line)1px,transparent 1px);background-size:20px 20px;width:100%;height:100vh;position:relative;overflow-y:auto}.portfolio-aurora{z-index:1;pointer-events:none;position:absolute;inset:0}.portfolio-socials{z-index:50;gap:12px;display:flex;position:fixed;top:16px;right:16px}.portfolio-socials a{width:100%;height:100%;color:var(--text-primary);justify-content:center;align-items:center;display:flex}.portfolio-content{z-index:10;padding:48px;position:relative}.hero-section,.portfolio-section{min-height:auto;scroll-margin-top:20px}.hero-section{flex-direction:column;gap:26px;min-height:82vh;padding-top:8vh;padding-bottom:18px}.hero-layout,.hero-section{justify-content:space-between;display:flex}.hero-layout{flex-direction:row;align-items:flex-start;gap:48px;width:100%}.hero-photo{flex-shrink:0;margin-top:42px}.hero-photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;border:2px solid #bc6ff18c;border-radius:50%;width:260px;height:260px;transition:box-shadow .4s,transform .4s;box-shadow:0 0 0 8px #52057b1f,0 0 40px #bc6ff138,0 0 90px #52057b29,0 24px 64px #0000008c}.hero-photo img:hover{transform:scale(1.03);box-shadow:0 0 0 8px #52057b38,0 0 55px #bc6ff161,0 0 110px #52057b40,0 24px 64px #0000008c}.hero-copy{color:var(--text-primary);width:100%;max-width:none}.hero-location{color:var(--color-purple-light);flex-wrap:wrap;align-items:center;gap:10px 28px;margin-bottom:18px;font-size:.98rem;font-weight:700;display:inline-flex}.hero-location a,.hero-location span{align-items:center;gap:8px;display:inline-flex}.hero-location a{border-bottom:1px solid #bc6ff18c}.hero-copy .hero-h1,.hero-copy h1{letter-spacing:0;min-height:2.16em;margin:0 0 24px;font-size:clamp(2.05rem,4.4vw,4.25rem);font-weight:850;line-height:1.08}.hero-copy p{max-width:760px;color:var(--text-secondary);margin:0 0 30px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.contact-links a,.hero-actions a{border-radius:8px;min-height:46px;font-weight:750}.hero-actions a{justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.logo-loop{width:100%;height:92px;color:var(--text-primary);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.logo-loop-track{will-change:transform;align-items:center;gap:30px;width:-moz-max-content;width:max-content;height:46px;animation:logo-loop-marquee 92s linear infinite;display:flex}.logo-loop-track-reverse{animation-direction:reverse}.logo-loop-icon{width:35px;height:35px;color:var(--text-primary);flex:none}@keyframes logo-loop-marquee{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}.portfolio-section{padding:42px 0}.section-title{color:var(--text-primary);letter-spacing:0;margin:0 0 34px;font-size:clamp(2rem,4vw,3rem);font-weight:850;line-height:1.1}.project-grid,.skills-grid{gap:20px;display:grid}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch}.contact-card,.project-card,.skill-card,.split-card,.timeline-card{border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);color:var(--text-primary);border-radius:8px}.project-card,.skill-card{padding:24px}.project-card{flex-direction:column;min-height:330px;display:flex}.card-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-heading-row h3,.contact-card h3,.skill-card h3,.split-card h3{color:var(--text-primary);margin:0;font-size:1.24rem;font-weight:800;line-height:1.25}.accent-line,.card-heading-row span{color:var(--color-purple-light);font-size:.94rem;font-weight:750}.contact-card p,.project-card p,.split-card p,.timeline-card p{color:var(--text-secondary);line-height:1.65}.project-card p{margin:18px 0 16px}.project-card ul,.timeline-card ul{color:var(--text-secondary);margin:0;padding-left:1.1rem;line-height:1.65}.project-card li,.timeline-card li{margin-bottom:8px}.tag-row{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px;display:flex}.portfolio-tag{border:1px solid var(--tag-border);background:var(--tag-bg);min-height:28px;color:var(--tag-text);border-radius:8px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:750;line-height:1;display:inline-flex}.timeline-card{grid-template-columns:auto minmax(0,1fr);gap:18px;padding:24px;display:grid}.timeline-card+.timeline-card{margin-top:18px}.contact-card>svg,.timeline-card>svg{color:var(--color-purple-light)}.accent-line{margin:7px 0 12px}.skill-card{flex-direction:column;min-width:0;min-height:190px;display:flex}.skill-card .tag-row{margin-top:16px;padding-top:0}.split-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:28px;display:grid}.course-list,.split-card p{margin:12px 0 0}.course-list{color:var(--text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding-left:1.1rem;line-height:1.65;display:grid}.course-list li{margin-bottom:6px}.activity-list{color:var(--text-secondary);margin:12px 0 0;padding-left:1.1rem;line-height:1.65}.activity-list li{margin-bottom:6px}.project-title{align-items:center;gap:8px;display:flex}.project-title-icon{color:var(--color-purple-light);flex-shrink:0}.contact-section{min-height:auto;padding-bottom:76px}.contact-card{padding:30px}.contact-card h3{max-width:720px;margin-top:18px;font-size:clamp(1.35rem,3vw,2.2rem)}.contact-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.contact-links a{border:1px solid var(--contact-link-border);background:var(--contact-link-bg);min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;flex-direction:column;justify-content:center;padding:14px;font-size:.88rem;display:flex}.contact-links span{color:var(--text-primary);text-transform:uppercase;margin-bottom:4px;font-size:.78rem;font-weight:800}@media (max-width:1100px){.portfolio-sidebar{width:220px;min-width:210px;padding:18px}.portfolio-content{padding:32px}.hero-photo img{width:200px;height:200px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){body{overflow:auto}.app-shell{min-height:100vh}.portfolio-sidebar{z-index:60;width:100%;min-width:0;height:72px;padding:10px;position:fixed;inset:auto 0 0;box-shadow:0 -12px 28px #0000006b}.shell-separator,.sidebar-brand,.sidebar-footer,.sidebar-grid{display:none}.sidebar-nav{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;height:100%;display:grid}.sidebar-link{justify-content:center;padding:0}.sidebar-link span{display:none}.portfolio-main{height:100vh}.portfolio-content{padding:26px 18px 104px}.portfolio-socials{position:absolute;top:12px;right:12px}.hero-section{align-items:flex-start;gap:20px;min-height:76vh;padding-top:42px;padding-bottom:16px}.hero-layout{flex-direction:column;gap:24px}.hero-photo{display:none}.hero-actions a{flex:160px}.logo-loop{height:82px}.logo-loop-track{gap:26px;height:41px}.logo-loop-icon{width:31px;height:31px}.contact-links,.project-grid,.skills-grid,.split-card{grid-template-columns:1fr}.project-card{min-height:auto}.timeline-card{grid-template-columns:1fr}}@media (max-width:520px){.portfolio-socials{display:none}.sidebar-nav{gap:6px}.hero-copy h1{font-size:2rem}.contact-card,.project-card,.skill-card,.split-card,.timeline-card{padding:20px}.card-heading-row{flex-direction:column;gap:8px}}.app-shell,.portfolio-content,.portfolio-main,body,html{max-width:100%;overflow-x:hidden}.app-shell{max-width:100vw}.portfolio-main{flex:auto;min-width:0}.contact-card,.portfolio-content,.project-card,.skill-card,.split-card,.timeline-card{box-sizing:border-box}.section-title,.section-title-text{color:var(--text-primary)!important}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}:root{--color-purple-deep:#52057B;--color-purple-mid:#892CDC;--color-purple-light:#BC6FF1;--app-bg:#f8f8fb;--sidebar-bg:#f1eef8;--text-primary:#111118;--text-secondary:#4b4b62;--sidebar-footer-color:rgba(17,17,24,0.5);--grid-line:rgba(100,60,180,0.055);--card-border:rgba(82,5,123,0.13);--card-bg:linear-gradient(145deg,#ffffff,#faf8ff);--card-shadow:0 4px 24px rgba(82,5,123,0.07),0 1px 4px rgba(0,0,0,0.05);--tag-bg:rgba(137,44,220,0.09);--tag-text:#5b21b6;--tag-border:rgba(82,5,123,0.2);--contact-link-bg:#ffffff;--contact-link-border:rgba(82,5,123,0.13);--dot-grid-opacity:0.18;--color-hover:var(--color-purple-deep);--color-active:var(--color-purple-mid);--color-accent:var(--color-purple-light);--bg-glass:rgba(255,255,255,0.1);--border-primary:var(--color-purple-deep);--border-secondary:rgba(82,5,123,0.13);--border-accent:var(--color-purple-light)}.dark{--app-bg:#111111;--sidebar-bg:#000000;--text-primary:#ffffff;--text-secondary:#d1d5db;--sidebar-footer-color:rgba(255,255,255,0.68);--grid-line:rgba(255,255,255,0.09);--card-border:rgba(188,111,241,0.24);--card-bg:linear-gradient(145deg,rgba(26,26,26,0.92),rgba(10,10,10,0.82));--card-shadow:0 18px 52px rgba(0,0,0,0.28);--tag-bg:rgba(82,5,123,0.45);--tag-text:#f2dcff;--tag-border:rgba(188,111,241,0.26);--contact-link-bg:rgba(0,0,0,0.28);--contact-link-border:rgba(188,111,241,0.26);--dot-grid-opacity:1;--border-secondary:#1f1f1f}.theme-bg-sidebar{background-color:var(--sidebar-bg)}.theme-bg-main{background-color:var(--app-bg)}.theme-text-primary{color:var(--text-primary)}.theme-text-secondary{color:var(--text-secondary)}.theme-border-primary{border-color:var(--border-primary)}.theme-accent{color:var(--color-accent)}.theme-hover-purple:hover{background-color:var(--color-hover)}.theme-button-primary{background-color:var(--color-purple-deep);color:#ffffff;border:none}.theme-button-primary:hover{background-color:var(--color-purple-mid)}.theme-button-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--color-purple-light)}.theme-button-secondary:hover{background-color:var(--color-purple-light);color:#111118}.theme-tag-purple-deep{background-color:var(--color-purple-deep);color:#ffffff}.theme-tag-purple-mid{background-color:var(--color-purple-mid);color:#ffffff}.theme-tag-purple-light{background-color:var(--color-purple-light);color:#111118}