:root{--portfolio-bg: #0f1015;--portfolio-panel: #171922;--portfolio-panel-2: #202330;--portfolio-text: #f4f2ea;--portfolio-muted: #a7adbb;--portfolio-accent: #9cff6e;--portfolio-accent-2: #62d9ff;--portfolio-warn: #ffce73;--portfolio-border: rgba(255, 255, 255, .12)}html{overflow-x:clip;overflow-y:auto;scroll-behavior:auto}body{background:var(--portfolio-bg);color:var(--portfolio-text);letter-spacing:0;overflow:visible!important}body.loaded{height:auto!important;overflow:visible!important}#root{min-height:100%;overflow:visible}button,input,textarea,select{font:inherit}.portfolio-header{padding-top:22px}.portfolio-logo,.admin-brand{align-items:center;background:linear-gradient(135deg,var(--portfolio-accent),var(--portfolio-accent-2));border:0;color:#090b0f;display:inline-flex;font-weight:800;height:48px;justify-content:center;text-decoration:none;width:48px}.portfolio-logo{border-radius:50%;font-size:18px}.portfolio-nav{align-items:center;display:flex;gap:26px}.portfolio-nav a,.portfolio-admin-link a{color:var(--portfolio-text);font-weight:600;text-decoration:none}.portfolio-nav a:hover,.portfolio-admin-link a:hover{color:var(--portfolio-accent)}.portfolio-hero{min-height:100vh}.portfolio-hero .tj-hero-4-title{letter-spacing:0;margin-bottom:14px}.portfolio-hero-headline{color:var(--portfolio-text);font-size:30px;font-weight:800;line-height:1.2;margin:0 auto;max-width:760px;text-align:center}.portfolio-hero-copy{-webkit-backdrop-filter:none!important;background:transparent!important;border:0!important;backdrop-filter:none!important;box-shadow:none!important;max-width:360px;padding:0!important}.portfolio-hero .tj-hero-4-bottom-wrapper{margin-top:58px}.portfolio-hero-copy p{color:var(--portfolio-muted);font-size:17px;line-height:1.75;margin-bottom:22px}.portfolio-meta{display:grid;gap:10px;margin-bottom:24px}.portfolio-meta span{align-items:center;color:var(--portfolio-text);display:inline-flex;gap:8px}.portfolio-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.portfolio-resume-link{align-items:center;border:1px solid var(--portfolio-border);border-radius:999px;color:var(--portfolio-text);display:inline-flex;font-weight:800;gap:8px;min-height:48px;padding:13px 18px;text-decoration:none}.portfolio-resume-link:hover{border-color:#9cff6e8c;color:var(--portfolio-accent)}.tj-btn-primary{align-items:center;display:inline-flex;gap:10px}.portfolio-loading{background:#11131a;color:var(--portfolio-accent);font-weight:700;left:50%;padding:10px 16px;position:fixed;top:18px;transform:translate(-50%);z-index:100}.portfolio-public{background:radial-gradient(circle at 50% 0%,rgba(135,80,247,.2),transparent 34rem),var(--portfolio-bg);min-height:100vh;overflow-x:clip}.portfolio-preloader{align-items:center;background:#05070d;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;opacity:1;pointer-events:auto;position:fixed;transition:opacity .55s ease,visibility .55s ease;visibility:visible;z-index:9999}.portfolio-preloader svg{top:0;right:0;bottom:0;left:0;position:absolute}.portfolio-preloader path{fill:#0f1015}.portfolio-preloader.is-hidden{opacity:0;pointer-events:none;visibility:hidden}.portfolio-preloader .load-text{display:flex;gap:6px;position:relative;z-index:2}.portfolio-preloader .load-text span{animation:portfolio-loading-letter .9s ease-in-out infinite alternate;color:var(--portfolio-text);font-size:24px;font-weight:800}.portfolio-preloader .load-text span:nth-child(2){animation-delay:.08s}.portfolio-preloader .load-text span:nth-child(3){animation-delay:.16s}.portfolio-preloader .load-text span:nth-child(4){animation-delay:.24s}.portfolio-preloader .load-text span:nth-child(5){animation-delay:.32s}.portfolio-preloader .load-text span:nth-child(6){animation-delay:.4s}.portfolio-preloader .load-text span:nth-child(7){animation-delay:.48s}@keyframes portfolio-loading-letter{0%{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}body.portfolio-effects-mounted .heroAnimation .tj-hero-4-subtitle,body.portfolio-effects-mounted .heroAnimation .tj-hero-4-title,body.portfolio-effects-mounted .heroAnimation .portfolio-hero-headline,body.portfolio-effects-mounted .heroAnimation .tj-hero-4-bottom-thumb img,body.portfolio-effects-mounted .heroAnimation .tj-hero-4-bottom-thumb-shape-1,body.portfolio-effects-mounted .heroAnimation .tj-hero-4-bottom-thumb-shape-2,body.portfolio-effects-mounted .heroAnimation .portfolio-hero-copy,body.portfolio-effects-mounted .heroAnimation .tj-hero-4-bottom-counter{opacity:0;transform:translateY(34px)}body.portfolio-effects-mounted .heroAnimation.activeAnimation .tj-hero-4-subtitle{animation:portfolio-rise .75s ease forwards}body.portfolio-effects-mounted .heroAnimation.activeAnimation .tj-hero-4-title{animation:portfolio-rise .85s .08s ease forwards}body.portfolio-effects-mounted .heroAnimation.activeAnimation .portfolio-hero-headline{animation:portfolio-rise .85s .16s ease forwards}body.portfolio-effects-mounted .heroAnimation.activeAnimation .tj-hero-4-bottom-thumb img{animation:portfolio-scale-rise .9s .24s ease forwards}body.portfolio-effects-mounted .heroAnimation.activeAnimation .tj-hero-4-bottom-thumb-shape-1,body.portfolio-effects-mounted .heroAnimation.activeAnimation .tj-hero-4-bottom-thumb-shape-2{animation:portfolio-pop .7s .55s ease forwards}body.portfolio-effects-mounted .heroAnimation.activeAnimation .portfolio-hero-copy{animation:portfolio-rise .8s .42s ease forwards}body.portfolio-effects-mounted .heroAnimation.activeAnimation .tj-hero-4-bottom-counter{animation:portfolio-rise .8s .55s ease forwards}@keyframes portfolio-rise{to{opacity:1;transform:translateY(0)}}@keyframes portfolio-scale-rise{0%{opacity:0;transform:translateY(34px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes portfolio-pop{0%{opacity:0;transform:translateY(18px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .46s ease,transform .46s ease}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.tilt-card{--tilt-scale: 1;position:relative;transform:perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale3d(var(--tilt-scale),var(--tilt-scale),1);transform-style:preserve-3d;transition:transform .18s ease,border-color .22s ease,box-shadow .22s ease;will-change:transform}.tilt-card.reveal-on-scroll,.tilt-card.reveal-on-scroll.is-visible{transform:perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale3d(var(--tilt-scale),var(--tilt-scale),1)}.tilt-card:after{background:radial-gradient(circle at var(--tilt-glow-x, 50%) var(--tilt-glow-y, 50%),rgba(156,255,110,.18),transparent 36%);border-radius:inherit;content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .22s ease}.tilt-card.is-tilting{border-color:#9cff6e66;box-shadow:0 22px 70px #0000003d}.tilt-card.is-tilting:after{opacity:1}.hero-tilt{border-radius:38px;display:inline-block;overflow:visible}.hero-tilt img{filter:saturate(1.08) contrast(1.03);transition:filter .24s ease}.hero-tilt.is-tilting img{filter:saturate(1.18) contrast(1.08)}#magic-cursor{top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:9998}#magic-cursor.is-active{opacity:1}#ball{align-items:center;background:#9cff6ee6;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#090b0f;display:flex;font-size:12px;font-weight:800;height:16px;justify-content:center;left:0;line-height:1.15;position:absolute;text-align:center;top:0;transition:width .22s ease,height .22s ease,background .22s ease,opacity .22s ease;width:16px}#magic-cursor.is-hovering #ball{height:8px;opacity:.45;width:8px}#magic-cursor.is-view #ball{background:#8750f7e0;color:#fff;height:96px;padding:16px;width:96px}#magic-cursor.is-view #ball:after{content:attr(data-label)}.progress-wrap{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#111620;border:1px solid var(--portfolio-border);border-radius:50%;bottom:26px;cursor:pointer;height:46px;opacity:0;padding:0;pointer-events:none;position:fixed;right:26px;transform:translateY(12px);transition:.25s ease;width:46px;z-index:50}.progress-wrap.active-progress{opacity:1;pointer-events:auto;transform:translateY(0)}.progress-wrap path{fill:none;stroke:var(--portfolio-accent);stroke-width:4}.portfolio-marquee{overflow:hidden}.portfolio-marquee-track{animation:portfolio-marquee 24s linear infinite;display:flex;gap:34px;min-width:max-content}@keyframes portfolio-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.tj-service-4-wrapper,.portfolio-project-card,.portfolio-skill-card{height:100%}.portfolio-public .tj-service-4-wrapper{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.portfolio-project-card{background:#ffffff09;border:1px solid var(--portfolio-border);overflow:hidden}.portfolio-project-card .tj-project-4-thumb{overflow:hidden}.portfolio-public .tj-project-4-wrappper{display:grid!important;gap:34px;grid-template-columns:repeat(2,minmax(0,1fr));height:auto!important;position:relative!important}.portfolio-public .tj-project-4-item.portfolio-project-card{left:auto!important;margin-top:0!important;max-width:none!important;position:relative!important;top:auto!important;width:100%!important}.portfolio-project-card .tj-project-4-thumb img{aspect-ratio:16 / 11;height:auto;object-fit:cover;transform:translate3d(var(--media-x, 0px),var(--media-y, 0px),0) scale(var(--media-scale, 1));transition:transform .26s ease,filter .26s ease;will-change:transform;width:100%}.portfolio-project-card.is-tilting .tj-project-4-thumb img{filter:saturate(1.16) contrast(1.06)}.portfolio-project-card p{color:var(--portfolio-muted);line-height:1.7;margin:12px 0 18px}.portfolio-tags,.portfolio-card-actions{display:flex;flex-wrap:wrap;gap:8px}.portfolio-tags span{background:#9cff6e1f;border:1px solid rgba(156,255,110,.28);color:var(--portfolio-accent);font-size:13px;padding:6px 10px}.portfolio-card-actions{margin-top:16px}.portfolio-card-actions a{align-items:center;color:var(--portfolio-text);display:inline-flex;gap:6px;text-decoration:none}.portfolio-card-actions a:hover{color:var(--portfolio-accent-2)}.portfolio-skill-card .item_bar{background:#ffffff1a}.portfolio-skills-grid{--bs-gutter-x: 18px;row-gap:18px}.portfolio-skill-card .progress{background:linear-gradient(90deg,var(--portfolio-accent),var(--portfolio-accent-2));display:block;height:100%;transition:width 1.1s cubic-bezier(.22,1,.36,1);width:0}.portfolio-skill-card.skill-visible .progress{width:var(--skill-level, 0%)}.portfolio-contact .section-header p{color:var(--portfolio-muted);line-height:1.75}.portfolio-contact .contact-form-box{border-radius:8px}.portfolio-contact textarea{min-height:170px}.form-note{font-weight:700;margin:12px 0 0}.form-note.success{color:var(--portfolio-accent)}.form-note.error,.admin-error{color:#ff8f8f}.portfolio-footer{padding-bottom:24px}.portfolio-admin-link{margin-top:24px;text-align:center}.admin-page{background:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),#0b0e14;background-size:44px 44px;color:var(--portfolio-text);min-height:100vh}.admin-shell{display:grid;gap:18px;grid-template-columns:264px minmax(0,1fr);margin:0 auto;max-width:1480px;min-height:100vh;padding:18px}.admin-auth-card{background:#171922f0;border:1px solid var(--portfolio-border);border-radius:8px;box-shadow:0 24px 80px #00000059;display:grid;gap:24px;grid-column:1 / -1;margin:auto;max-width:520px;padding:32px;width:100%}.admin-auth-card h1,.admin-topbar h1,.admin-panel h2{letter-spacing:0;margin:0;overflow-wrap:anywhere}.admin-auth-card h1{font-size:clamp(40px,6vw,58px);line-height:1.02}.admin-topbar h1{font-size:clamp(20px,2.4vw,30px);line-height:1.18}.admin-panel h2{font-size:clamp(24px,3vw,34px);line-height:1.15}.admin-auth-card p,.admin-panel p,.admin-muted{color:var(--portfolio-muted);line-height:1.7}.admin-sidebar,.admin-main,.admin-panel,.admin-metric{background:#111620;border:1px solid var(--portfolio-border);border-radius:8px;min-width:0}.admin-sidebar{align-self:start;display:grid;gap:18px;grid-template-rows:auto 1fr auto;min-height:calc(100vh - 36px);padding:14px;position:sticky;top:18px}.admin-brand{border-radius:8px;color:#090b0f;gap:12px;justify-content:flex-start;padding:0 12px;width:100%}.admin-brand span{color:#090b0f;font-weight:800}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar button,.admin-logout,.admin-ghost-btn,.admin-primary-btn,.admin-icon-btn{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;gap:10px;justify-content:center;min-height:42px;padding:10px 14px;transition:.2s ease}.admin-sidebar button,.admin-logout,.admin-ghost-btn,.admin-icon-btn{background:#ffffff0a;color:var(--portfolio-text);text-decoration:none}.admin-sidebar button{justify-content:flex-start;min-width:0;width:100%}.admin-sidebar button.active,.admin-sidebar button:hover,.admin-ghost-btn:hover,.admin-icon-btn:hover{border-color:#9cff6e4d;color:var(--portfolio-accent)}.admin-logout{color:#ffb3b3}.admin-main{display:grid;gap:18px;padding:18px}.admin-topbar,.admin-panel-heading,.admin-message-head{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-topbar{background:#0f131c;border:1px solid var(--portfolio-border);border-radius:8px;padding:18px}.admin-session-email{color:var(--portfolio-muted);font-size:14px;font-weight:700;margin:8px 0 0;overflow-wrap:anywhere}.admin-topbar-actions,.admin-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-kicker{color:var(--portfolio-accent);display:block;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.admin-metrics{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-metric{background:linear-gradient(180deg,#151b27,#10151f);padding:18px}.admin-metric span,.admin-list-item span,.admin-message span{color:var(--portfolio-muted);display:block;font-size:14px}.admin-metric strong{display:block;font-size:34px;margin-top:8px}.admin-panel{padding:20px}.admin-grid-two{display:grid;gap:20px;grid-template-columns:minmax(360px,.9fr) minmax(320px,1.1fr);margin-top:18px}.admin-form{align-content:start;background:#0e131c;border:1px solid var(--portfolio-border);border-radius:8px;display:grid;gap:14px;padding:16px}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.profile-form label:has(textarea),.profile-form label:nth-last-of-type(-n+2){grid-column:1 / -1}.admin-form label,.admin-auth-card label{color:var(--portfolio-muted);display:grid;font-size:14px;font-weight:700;gap:8px}.admin-form input,.admin-form textarea,.admin-form select,.admin-auth-card input,.admin-message select{background:#0f1118;border:1px solid var(--portfolio-border);border-radius:8px;color:var(--portfolio-text);min-height:44px;padding:10px 12px;width:100%}.admin-form textarea{min-height:120px;resize:vertical}.admin-check{align-items:center;display:flex!important;flex-direction:row}.admin-check input{min-height:auto;width:auto}.admin-primary-btn{background:linear-gradient(135deg,var(--portfolio-accent),var(--portfolio-accent-2));color:#090b0f;font-weight:800}.admin-primary-btn:disabled,.admin-ghost-btn:disabled{cursor:not-allowed;opacity:.55}.admin-auth-actions,.admin-row-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-private-note{border-top:1px solid var(--portfolio-border);color:var(--portfolio-muted);font-size:13px;margin:4px 0 0;padding-top:14px}.admin-overview{display:grid;gap:18px}.admin-overview-grid{display:grid;gap:18px;grid-template-columns:1.2fr 1fr 1fr}.admin-home-panel{align-content:start;display:grid;gap:14px}.admin-home-panel .admin-ghost-btn{justify-self:start}.admin-health-list{display:flex;flex-wrap:wrap;gap:8px}.admin-health-list span{background:#9cff6e14;border:1px solid rgba(156,255,110,.24);border-radius:999px;color:var(--portfolio-accent);font-size:12px;font-weight:800;padding:7px 10px}.admin-list,.admin-message-list{align-content:start;display:grid;gap:12px;max-height:72vh;overflow:auto;padding-right:4px}.admin-list-item,.admin-message{background:#0e131c;border:1px solid var(--portfolio-border);border-radius:8px;padding:14px}.admin-list-item{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.admin-icon-btn{min-height:38px;padding:8px;width:38px}.admin-icon-btn.danger:hover{border-color:#ff8f8f59;color:#ff8f8f}.admin-success{align-items:center;color:var(--portfolio-accent);display:flex;gap:8px;font-weight:800}.admin-success.inline{margin:0}.admin-message p{color:var(--portfolio-text);line-height:1.7;margin:12px 0}.admin-message small{color:var(--portfolio-muted)}.portfolio-hero .tj-hero-4-bottom-thumb{isolation:isolate}.portfolio-hero .tj-hero-4-bottom-thumb .hero-tilt{background:linear-gradient(#0c1017,#0c1017) padding-box,linear-gradient(145deg,#9cff6ea6,#62d9ff3d,#8750f7b3) border-box;border:1px solid transparent;border-radius:46% 46% 40% 40%/30% 30% 48% 48%;box-shadow:0 34px 90px #00000061,inset 0 0 0 1px #ffffff14;overflow:hidden;padding:6px}.portfolio-hero .tj-hero-4-bottom-thumb .hero-tilt:before{background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transform:translate(-70%);transition:opacity .25s ease,transform .35s ease;z-index:2}.portfolio-hero .tj-hero-4-bottom-thumb .hero-tilt.is-tilting:before{opacity:1;transform:translate(70%)}.portfolio-hero .tj-hero-4-bottom-thumb .hero-tilt img{aspect-ratio:4 / 5;border-radius:inherit;display:block;height:min(54vw,446px);object-fit:cover;object-position:center top;width:min(42vw,366px)}.portfolio-public .tj-project-4-area{overflow:hidden}.portfolio-project-card{background:linear-gradient(180deg,#ffffff0e,#ffffff06) padding-box,linear-gradient(135deg,#ffffff29,#9cff6e1f,#62d9ff1a) border-box;border:1px solid transparent;border-radius:24px;box-shadow:0 24px 70px #00000042;overflow:hidden;padding:14px 14px 24px}.portfolio-project-card:before{background:linear-gradient(90deg,transparent,rgba(98,217,255,.16),transparent);content:"";height:1px;left:18px;opacity:.45;position:absolute;right:18px;top:0}.portfolio-project-card .project-card-media-link{color:inherit;display:block;text-decoration:none}.portfolio-project-card .tj-project-4-thumb{aspect-ratio:16 / 10;background:linear-gradient(180deg,#ffffff0a,#ffffff04),#05070b;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff09;display:block;overflow:hidden;position:relative}.portfolio-project-card .tj-project-4-thumb:after{background:linear-gradient(180deg,transparent 48%,rgba(5,7,11,.24));content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.portfolio-project-card .tj-project-4-thumb img{aspect-ratio:auto;display:block;height:100%;object-fit:cover;object-position:center top;width:100%}.portfolio-project-card:first-child .tj-project-4-thumb img{object-position:center 14%}.portfolio-project-card .tj-project-4-content{padding:23px 2px 0}.portfolio-project-card .tj-project-4-title a{color:inherit;text-decoration:none}.portfolio-project-card .tj-project-4-title a:hover{color:var(--portfolio-accent)}.portfolio-project-card .tj-project-4-subtitle{align-items:center;display:inline-flex;gap:8px}.portfolio-project-card .tj-project-4-subtitle:before{background:var(--portfolio-accent);border-radius:999px;content:"";height:7px;width:7px}.portfolio-project-card:hover{border-color:#9cff6e47;box-shadow:0 30px 90px #00000057}.portfolio-skill-card{background:linear-gradient(180deg,#160c1ff0,#0e0816eb) padding-box,linear-gradient(145deg,#ffffff14,#9cff6e21,#62d9ff14) border-box;border:1px solid transparent;border-radius:16px;box-shadow:0 20px 70px #00000038;margin-bottom:0;max-width:none;overflow:hidden;padding:22px 16px 24px;position:relative}.portfolio-skills-grid .portfolio-skill-card .progress-text{align-items:flex-start;gap:12px;margin-bottom:10px}.portfolio-skill-card:before{background:linear-gradient(110deg,transparent 8%,rgba(255,255,255,.1) 45%,transparent 72%);content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transform:translate(-110%)}.portfolio-skill-card.skill-visible:before{animation:portfolio-sheen 3.2s ease-out 1;opacity:1}.portfolio-skill-card .icon-box{background:#ffffff09;border:1px solid rgba(255,255,255,.075);border-radius:14px;box-shadow:0 12px 38px #0000003d;flex:0 0 44px;height:44px;width:44px}.portfolio-skill-card .icon-box img{max-width:28px}.portfolio-skill-card.skill-visible .icon-box{animation:portfolio-icon-float 3.2s ease-in-out 2}.portfolio-skill-card .progress-title{min-width:0}.portfolio-skill-card .progress-title .title{font-size:17px;line-height:1.1;overflow-wrap:anywhere}.portfolio-skill-card .progress-title span{color:var(--portfolio-muted);display:block;font-size:12px;font-weight:700;line-height:1.25;margin-top:3px}.portfolio-skill-card .progress-item{margin-top:32px}.portfolio-skill-card .item_value{font-size:13px;letter-spacing:0;top:-24px}.portfolio-skill-card .item_bar{border-radius:999px;height:5px;overflow:hidden}.portfolio-skill-card .progress{background:linear-gradient(90deg,var(--portfolio-accent),#65ffd0,var(--portfolio-accent-2),var(--portfolio-accent));background-size:220% 100%;border-radius:inherit;position:relative}.portfolio-skill-card.skill-visible .progress{animation:portfolio-progress-flow 2.2s linear 2}.portfolio-skill-card:hover{border-color:#62d9ff42}.resume-section.style-4,.resume-section.style-4 .resume_wrapper{position:relative}.resume-section.style-4 .resume_wrapper:before{background:linear-gradient(180deg,#9cff6e00,#9cff6e6b,#62d9ff00);content:"";left:21px;position:absolute;top:20px;bottom:20px;width:1px}.resume-section.style-4 .resume_item{background:linear-gradient(180deg,#ffffff09,#ffffff04) padding-box,linear-gradient(90deg,#ffffff14,#8750f738,#62d9ff14) border-box;border:1px solid transparent;border-radius:20px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:18px;overflow:hidden;padding:24px 28px 24px 78px}.resume-section.style-4 .resume_item:before{background:#0f1015;border:2px solid var(--portfolio-accent);border-radius:999px;box-shadow:0 0 24px #9cff6e52;content:"";height:13px;left:15px;position:absolute;top:34px;width:13px;z-index:2}.resume-section.style-4 .resume_item:after{background:linear-gradient(90deg,rgba(135,80,247,.16),rgba(98,217,255,.16),transparent);content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transform:translate(-18%);transition:opacity .26s ease,transform .32s ease}.resume-section.style-4 .resume_item:hover{border-color:#9cff6e3d;transform:translateY(-3px)}.resume-section.style-4 .resume_item:hover:after{opacity:1;transform:translate(0)}.resume-section.style-4 .resume_item .resume_content,.resume-section.style-4 .resume_item .resume_date{position:relative;z-index:1}.resume-section.style-4 .resume_item .resume_content{display:grid;gap:24px;grid-template-columns:76px minmax(0,1fr);min-width:0}.resume-section.style-4 .resume_item .resume_text{max-width:760px;min-width:0}.resume-section.style-4 .resume_item .resume_text .desc p{max-width:none}.resume-section.style-4 .resume_item .resume_date{justify-self:end;white-space:nowrap}.resume-section.style-4 .resume_item .resume_content .icon_box{background:#ffffff0e;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 10px 34px #00000047}.resume-section.style-4 .resume_item:hover .icon_box{animation:portfolio-icon-float 3.2s ease-in-out infinite}.project-detail-page{background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:52px 52px;min-height:100vh;overflow:hidden;padding:150px 0 90px;position:relative}.project-detail-bg{background:linear-gradient(120deg,rgba(135,80,247,.22),transparent 34%),linear-gradient(240deg,rgba(98,217,255,.14),transparent 38%);top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.project-detail-page .container{position:relative;z-index:1}.detail-back-link,.detail-secondary-link,.detail-related-heading a{align-items:center;color:var(--portfolio-text);display:inline-flex;gap:9px;font-weight:800;text-decoration:none}.detail-back-link{color:var(--portfolio-muted);margin-bottom:34px}.detail-back-link:hover,.detail-secondary-link:hover,.detail-related-heading a:hover{color:var(--portfolio-accent)}.project-detail-hero{align-items:center;display:grid;gap:clamp(32px,5vw,70px);grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr)}.project-detail-title-row{color:var(--portfolio-accent);display:flex;flex-wrap:wrap;font-size:13px;font-weight:900;gap:10px;margin-bottom:18px;text-transform:uppercase}.project-detail-title-row span{background:#9cff6e14;border:1px solid rgba(156,255,110,.16);border-radius:999px;padding:7px 11px}.project-detail-copy h1{font-size:clamp(54px,7vw,96px);line-height:.96;margin:0;max-width:min(780px,100%);overflow-wrap:break-word;text-wrap:balance;word-break:normal}.project-detail-lead{color:var(--portfolio-muted);font-size:clamp(18px,2vw,23px);line-height:1.65;margin:26px 0 22px;max-width:720px}.detail-tags{margin-bottom:28px}.detail-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:18px}.project-detail-visual{background:linear-gradient(180deg,#ffffff14,#ffffff06) padding-box,linear-gradient(145deg,#9cff6e85,#62d9ff29,#8750f794) border-box;border:1px solid transparent;border-radius:28px;box-shadow:0 34px 100px #0000006b;overflow:hidden;padding:14px}.project-detail-copy,.project-detail-visual{min-width:0}.project-detail-visual img{aspect-ratio:16 / 11;border-radius:18px;display:block;height:auto;object-fit:cover;object-position:center top;width:100%}.detail-visual-caption{align-items:center;background:#090b0fb8;border:1px solid rgba(255,255,255,.12);border-radius:999px;bottom:28px;color:var(--portfolio-text);display:inline-flex;gap:8px;font-size:13px;font-weight:800;left:28px;padding:10px 13px;position:absolute}.detail-meta-grid,.detail-impact-band,.detail-section-grid,.detail-gallery,.detail-process-layout,.detail-stack-layout,.detail-related{margin-top:clamp(44px,7vw,92px)}.detail-meta-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-meta-grid article,.detail-story-block,.detail-impact-band article,.detail-stack-card,.detail-stack-notes article,.detail-related-card,.project-detail-empty-box{background:#111620b8;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 22px 70px #00000038}.detail-meta-grid article{display:grid;gap:9px;padding:20px}.detail-meta-grid svg,.detail-stack-card svg{color:var(--portfolio-accent)}.detail-meta-grid span,.detail-story-block span,.detail-impact-band span{color:var(--portfolio-muted);font-size:13px;font-weight:800;text-transform:uppercase}.detail-meta-grid strong{color:var(--portfolio-text);font-size:18px;line-height:1.35}.detail-section-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-story-block{padding:26px}.detail-story-block h2,.detail-process-heading h2,.detail-stack-card h2,.detail-related-heading h2,.project-detail-empty-box h1{font-size:clamp(28px,3vw,42px);line-height:1.1;margin:10px 0 14px}.detail-story-block p,.detail-process-heading p,.detail-process-list p,.detail-stack-card p,.detail-stack-notes p,.project-detail-empty-box p{color:var(--portfolio-muted);line-height:1.75;margin:0}.detail-impact-band{background:linear-gradient(90deg,#9cff6e21,#62d9ff17,#8750f726),#111620c7;border:1px solid rgba(255,255,255,.1);border-radius:24px;display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.detail-impact-band article{background:#090b0fa3;border:0;border-radius:0;box-shadow:none;padding:28px}.detail-impact-band strong{display:block;font-size:clamp(42px,6vw,78px);line-height:.95;margin-bottom:10px}.detail-gallery{display:grid;gap:16px;grid-template-columns:1.25fr .75fr}.detail-gallery figure{background:#06080d;border:1px solid rgba(255,255,255,.08);border-radius:22px;margin:0;overflow:hidden}.detail-gallery figure.is-large{grid-row:span 2}.detail-gallery img{display:block;height:100%;min-height:260px;object-fit:cover;object-position:center top;width:100%}.detail-gallery figure.is-large img{min-height:548px}.detail-process-layout{display:grid;gap:34px;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)}.detail-process-heading{position:sticky;top:110px}.detail-process-list{display:grid;gap:14px}.detail-process-list article{align-items:flex-start;background:#ffffff09;border:1px solid rgba(255,255,255,.09);border-radius:18px;display:grid;gap:18px;grid-template-columns:64px minmax(0,1fr);padding:22px}.detail-process-list article>span{color:var(--portfolio-accent);font-size:24px;font-weight:900}.detail-process-list h3,.detail-stack-notes h3{font-size:22px;line-height:1.15;margin:0 0 8px}.detail-stack-layout{display:grid;gap:18px;grid-template-columns:.85fr 1.15fr}.detail-stack-card{padding:26px}.detail-stack-notes{display:grid;gap:12px}.detail-stack-notes article{align-items:flex-start;display:flex;gap:14px;padding:18px}.detail-stack-notes svg{color:var(--portfolio-accent);flex:0 0 auto;margin-top:3px}.detail-related-heading{align-items:center;display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.detail-related-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-related-card{color:var(--portfolio-text);overflow:hidden;text-decoration:none}.detail-related-card img{aspect-ratio:16 / 10;display:block;object-fit:cover;object-position:center top;width:100%}.detail-related-card span{display:block;font-size:18px;font-weight:900;padding:15px}.detail-related-card:hover{border-color:#9cff6e47;color:var(--portfolio-accent)}.project-detail-empty{align-items:center;display:flex}.project-detail-empty-box{padding:clamp(28px,5vw,54px)}@keyframes portfolio-sheen{0%,45%{transform:translate(-115%)}70%,to{transform:translate(115%)}}@keyframes portfolio-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes portfolio-progress-flow{0%{background-position:0 0}to{background-position:220% 0}}@media(prefers-reduced-motion:reduce){.portfolio-skill-card.skill-visible:before,.portfolio-skill-card.skill-visible .icon-box,.portfolio-skill-card.skill-visible .progress,.resume-section.style-4 .resume_item:hover .icon_box{animation:none}}@media(max-width:1199px){.portfolio-nav{display:none}.portfolio-public .tj-project-4-wrappper,.project-detail-hero,.detail-process-layout,.detail-stack-layout{grid-template-columns:1fr}.project-detail-visual{max-width:760px}.detail-process-heading{position:static}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-two,.admin-overview-grid,.profile-form{grid-template-columns:1fr}}@media(max-width:900px){.detail-meta-grid,.detail-section-grid,.detail-impact-band,.detail-gallery,.detail-related-grid{grid-template-columns:1fr}.detail-gallery figure.is-large{grid-row:auto}.detail-gallery figure.is-large img{min-height:320px}.admin-shell{display:block}.admin-sidebar{margin-bottom:12px;min-height:auto;position:static;width:100%}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-logout{width:100%}}@media(max-width:575px){.portfolio-hero .tj-hero-4-bottom-thumb .hero-tilt img{height:min(94vw,390px);width:min(78vw,310px)}.portfolio-project-card{border-radius:18px;padding:10px 10px 20px}.portfolio-project-card .tj-project-4-thumb{border-radius:14px}.resume-section.style-4 .resume_wrapper:before{left:10px}.resume-section.style-4 .resume_item{gap:14px;grid-template-columns:1fr;padding:20px 16px 20px 34px}.resume-section.style-4 .resume_item .resume_content{gap:14px;grid-template-columns:44px minmax(0,1fr)}.resume-section.style-4 .resume_item .resume_date{justify-self:start}.resume-section.style-4 .resume_item:before{left:4px}.project-detail-page{padding:120px 0 70px}.project-detail-title-row{font-size:12px}.project-detail-copy h1{font-size:clamp(42px,13vw,54px);line-height:.96}.project-detail-lead{font-size:17px}.project-detail-visual,.detail-story-block,.detail-stack-card{border-radius:18px}.detail-impact-band article{padding:22px}.detail-process-list article{grid-template-columns:1fr}.detail-related-heading{align-items:flex-start;flex-direction:column}.portfolio-header .portfolio-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f1118e6;border:1px solid var(--portfolio-border);border-radius:8px;bottom:12px;display:flex;gap:6px;left:12px;overflow-x:auto;padding:8px;position:fixed;right:12px;z-index:65}.portfolio-header .portfolio-nav{scrollbar-width:none}.portfolio-header .portfolio-nav::-webkit-scrollbar{display:none}.portfolio-header .portfolio-nav a{background:#ffffff0d;border-radius:8px;flex:0 0 auto;font-size:13px;padding:9px 11px}.progress-wrap{bottom:76px;height:42px;right:16px;width:42px}.admin-shell{padding:12px}.admin-main,.admin-panel,.admin-auth-card{padding:16px}.admin-metrics{grid-template-columns:1fr}.admin-sidebar{gap:12px}.admin-sidebar nav{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar button{font-size:14px;min-height:46px;padding:9px 10px}.admin-brand{height:46px}.admin-topbar h1{font-size:22px}.admin-auth-card h1{font-size:40px}.admin-topbar,.admin-panel-heading,.admin-message-head,.admin-list-item{align-items:flex-start;flex-direction:column}}
