.portfolio-detail{position:relative;margin:9rem auto 5rem;display:flex;height:100%;max-width:1024px;flex-direction:column;gap:2.5rem;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.portfolio-detail{padding-left:0;padding-right:0}}.portfolio-detail .detail-header{display:flex;flex-direction:column;gap:1.5rem}.portfolio-detail .detail-header .back-link{display:flex;width:fit-content;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(123 184 240/var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.portfolio-detail .detail-header .back-link:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.portfolio-detail .detail-header .hero-section{display:flex;flex-direction:column;gap:2rem}@media (min-width:1024px){.portfolio-detail .detail-header .hero-section{flex-direction:row}}.portfolio-detail .detail-header .hero-section .hero-image{width:100%;flex-shrink:0}@media (min-width:1024px){.portfolio-detail .detail-header .hero-section .hero-image{width:560px}}.portfolio-detail .detail-header .hero-section .hero-image .image-frame{position:relative;border-radius:.75rem;padding:1.25rem;transition:box-shadow .4s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05),0 0 0 1px hsla(0,0%,100%,.06),0 8px 32px rgba(0,0,0,.4);background:linear-gradient(145deg,#1e293b,#263347)}.portfolio-detail .detail-header .hero-section .hero-image .image-frame .image-inner{position:relative;aspect-ratio:16/8;overflow:hidden;border-radius:var(--radius);--tw-bg-opacity:1;background-color:rgb(33 42 56/var(--tw-bg-opacity))}.portfolio-detail .detail-header .hero-section .hero-image .image-frame .image-inner img{width:100%;height:100%;object-fit:cover;object-position:top}.portfolio-detail .detail-header .hero-section .hero-image .image-frame .image-inner .frame-overlay{pointer-events:none;position:absolute;inset:0;opacity:0;transition:opacity .4s ease;background:linear-gradient(135deg,rgba(74,144,217,.08),transparent 50%,rgba(156,64,255,.06))}.portfolio-detail .detail-header .hero-section .hero-image .image-frame:hover{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 0 0 1px rgba(74,144,217,.3),0 0 30px rgba(74,144,217,.15),0 12px 40px rgba(0,0,0,.5)}.portfolio-detail .detail-header .hero-section .hero-image .image-frame:hover .frame-overlay{opacity:1}.portfolio-detail .detail-header .hero-section .hero-info{display:flex;flex-direction:column}.portfolio-detail .detail-header .hero-section .hero-info .title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.portfolio-detail .detail-header .hero-section .hero-info .title-row h1{font-size:1.5rem;line-height:2rem;font-weight:700;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:1024px){.portfolio-detail .detail-header .hero-section .hero-info .title-row h1{font-size:1.875rem;line-height:2.25rem}}.portfolio-detail .detail-header .hero-section .hero-info .title-row .year-badge{flex-shrink:0;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;border:1px solid rgba(74,144,217,.25);background:rgba(74,144,217,.15);color:#7bb8f0}.portfolio-detail .detail-header .hero-section .hero-info .role-tag{margin-top:.5rem;display:inline-block;width:fit-content;border-radius:calc(var(--radius) - 2px);padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.025em;border:1px solid rgba(243,236,25,.2);background:rgba(243,236,25,.1);color:#f3ec19}.portfolio-detail .detail-header .hero-section .hero-info .overview{margin-top:1rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(184 196 212/var(--tw-text-opacity))}.portfolio-detail .detail-header .hero-section .hero-info .meta-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}@media (min-width:640px){.portfolio-detail .detail-header .hero-section .hero-info .meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.portfolio-detail .detail-header .hero-section .hero-info .meta-grid .meta-item{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;border-radius:var(--radius);padding:.625rem .75rem;border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.04)}.portfolio-detail .detail-header .hero-section .hero-info .meta-grid .meta-item svg{margin-top:.125rem;flex-shrink:0;--tw-text-opacity:1;color:rgb(123 184 240/var(--tw-text-opacity))}.portfolio-detail .detail-header .hero-section .hero-info .meta-grid .meta-item .meta-value{font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:768px){.portfolio-detail .detail-header .hero-section .hero-info .meta-grid .meta-item .meta-value{align-self:center;text-align:center}}.portfolio-detail .detail-header .hero-section .hero-info .meta-grid .meta-item div{display:flex;gap:.5rem}.portfolio-detail .detail-header .hero-section .hero-info .meta-grid .meta-item div .meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;--tw-text-opacity:1;color:rgb(107 122 141/var(--tw-text-opacity))}.portfolio-detail .detail-header .hero-section .hero-info .visit-btn{margin-top:1.5rem;display:flex;width:fit-content;align-items:center;gap:.5rem;border-radius:9999px;padding:.5rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;box-shadow:0 2px 8px rgba(74,144,217,.3);background:linear-gradient(135deg,#4a90d9,#6c5ce7)}.portfolio-detail .detail-header .hero-section .hero-info .visit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(74,144,217,.5)}.portfolio-detail .detail-content{display:flex;flex-direction:column;gap:2.5rem}.portfolio-detail .detail-content .detail-section{display:flex;flex-direction:column;gap:1rem}.portfolio-detail .detail-content .detail-section .section-header{display:flex;align-items:center;gap:.625rem}.portfolio-detail .detail-content .detail-section .section-header svg{--tw-text-opacity:1;color:rgb(123 184 240/var(--tw-text-opacity))}.portfolio-detail .detail-content .detail-section .section-header h2{font-size:1.125rem;line-height:1.75rem;font-weight:700;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.portfolio-detail .detail-content .detail-section .contribution-list{display:flex;flex-direction:column;gap:.625rem}.portfolio-detail .detail-content .detail-section .contribution-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(184 196 212/var(--tw-text-opacity))}.portfolio-detail .detail-content .detail-section .contribution-list li .bullet{margin-top:.5rem;display:block;width:.375rem;height:.375rem;flex-shrink:0;border-radius:9999px;background:linear-gradient(135deg,#4a90d9,#9c40ff)}.portfolio-detail .detail-content .detail-section .challenge-list{display:flex;flex-direction:column;gap:.75rem}.portfolio-detail .detail-content .detail-section .challenge-list li{display:flex;align-items:flex-start;gap:.75rem;border-radius:var(--radius);padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(184 196 212/var(--tw-text-opacity));border:1px solid hsla(0,0%,100%,.05);background:hsla(0,0%,100%,.03)}.portfolio-detail .detail-content .detail-section .challenge-list li .challenge-number{display:flex;width:1.5rem;height:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));background:linear-gradient(135deg,#4a90d9,#6c5ce7)}.portfolio-detail .detail-content .detail-section .tech-detail-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:640px){.portfolio-detail .detail-content .detail-section .tech-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.portfolio-detail .detail-content .detail-section .tech-detail-grid .tech-detail-card{display:flex;flex-direction:column;gap:.625rem;border-radius:.75rem;padding:1rem 1.25rem;transition:border-color .3s ease;border:1px solid hsla(0,0%,100%,.06);background:linear-gradient(152.37deg,#314259 2.86%,#354965 98.8%)}.portfolio-detail .detail-content .detail-section .tech-detail-grid .tech-detail-card:hover{border-color:rgba(74,144,217,.3)}.portfolio-detail .detail-content .detail-section .tech-detail-grid .tech-detail-card .tech-detail-header{display:flex;align-items:center;gap:.75rem}.portfolio-detail .detail-content .detail-section .tech-detail-grid .tech-detail-card .tech-detail-header img{width:2rem;height:2rem}.portfolio-detail .detail-content .detail-section .tech-detail-grid .tech-detail-card .tech-detail-header h3{font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.portfolio-detail .detail-content .detail-section .tech-detail-grid .tech-detail-card p{font-size:.75rem;line-height:1rem;line-height:1.625;--tw-text-opacity:1;color:rgb(184 196 212/var(--tw-text-opacity))}