@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);.upload-section{display:flex;align-items:flex-start;max-width:1200px;width:100%;margin:0 auto;padding:80px 20px;grid-gap:40px;gap:40px}.upload-header{width:40%;flex-shrink:0;padding-top:0}.upload-header h3{font-size:2.5rem;font-weight:800;color:#3e3f29;margin-top:0;margin-bottom:20px;border-left:5px solid #2f5d50;padding-left:20px;line-height:1.1}.upload-header p{font-size:1.1rem;color:#666;line-height:1.6;max-width:90%}.upload-card{flex-shrink:0;margin-left:auto;background:none;width:55%}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;border:2px dashed #bca88d;border-radius:16px;background-color:#f0edea;cursor:pointer;transition:all .3s ease;margin-top:0}.upload-label:hover{background-color:#eff4ff;border-color:#3e3f29}.placeholder-content{text-align:center;padding:20px}.upload-icon{margin-bottom:20px;width:70px;height:70px;opacity:.9}.placeholder-content p{font-size:1.1rem;color:#374151;margin-bottom:8px}.support-text{display:block;font-size:.85rem;color:#9ca3af;margin-bottom:25px}.upload-btn-fake{display:inline-block;padding:12px 28px;background-color:#bca88d;color:#fff;border-radius:50px;font-size:.95rem;font-weight:600;box-shadow:0 4px 12px hsla(0,0%,42.7%,.15)}.image-preview{max-width:100%;max-height:350px;object-fit:contain;border-radius:8px}.controls-row{display:flex;grid-gap:20px;gap:20px;margin-top:25px;padding:20px;background:#f9fafb;border-radius:16px;flex-wrap:wrap}.control-group{flex:1 1;display:flex;flex-direction:column;min-width:180px}.control-group label{font-size:.9rem;font-weight:600;margin-bottom:8px;color:#4b5563}.control-group input[type=range],.control-group select{padding:10px;border:1px solid #e5e7eb;border-radius:8px;outline:none}.btn-detect{width:100%;margin-top:25px;padding:16px;background-color:#bca88d;color:#fff;font-size:1.1rem;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .3s;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.btn-detect:disabled{background-color:#d1d5db;cursor:not-allowed}.btn-detect:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.status-message{text-align:center;margin-top:20px;font-weight:600;color:#374151}@media (max-width:900px){.upload-section{flex-direction:column;grid-gap:40px;gap:40px;padding:40px 20px;text-align:center}.upload-card,.upload-header{width:100%;margin-left:0;max-width:100%}.upload-header h3{border-left:none;border-bottom:4px solid #3e3f29;display:inline-block;padding-left:0;padding-bottom:10px}}.results-container{display:flex;align-items:flex-start;max-width:1200px;width:100%;grid-gap:clamp(30px,5vw,60px);gap:clamp(30px,5vw,60px);box-sizing:border-box;padding:60px 20px 0;border-top:1px solid #e5e7eb;margin:60px auto 100px}.results-summary{width:40%;flex-shrink:0;position:relative}.results-summary h3{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;color:#3e3f29;margin-top:0;margin-bottom:20px;border-left:5px solid #2f5d50;padding-left:20px;line-height:1.1}.results-info p{font-size:clamp(.95rem,1.8vw,1.1rem);color:#555;margin-bottom:10px}.highlight-text{color:#3e3f29}.results-details-card{width:55%;flex-shrink:0;margin-left:20px;background:#fff;padding:clamp(20px,4vw,30px);border-radius:20px;box-shadow:0 10px 30px -10px rgba(0,0,0,.05);border:1px solid #f3f4f6;box-sizing:border-box}.results-details-card h4{font-size:1.2rem;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #e5e7eb;color:#3e3f29}.image-container{margin-bottom:30px}.image-wrapper{position:relative;display:inline-block;width:100%;-webkit-user-select:none;user-select:none}.result-img{width:100%;height:auto;border-radius:10px;border:1px solid #ddd;background:#f9fafb;display:block}.region-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.image-region-overlay,.video-region-overlay{border:3px solid gold;background:rgba(255,215,0,.15);box-sizing:border-box;transition:box-shadow .15s ease}.image-region-overlay:hover,.video-region-overlay:hover{box-shadow:0 0 0 4px rgba(255,215,0,.4)}.region-info{margin-top:15px;padding:15px;background:#fffef5;border-radius:8px;border:2px solid gold}.region-info p{margin:5px 0;font-size:1rem;color:#3e3f29}.highlight-count{color:gold;background:#3e3f29;padding:3px 12px;border-radius:15px;font-weight:700;font-size:1.2rem}.region-hint{font-size:.9rem;color:#666;font-style:italic;margin-top:8px}.video-container{margin-bottom:30px;background:#f9fafb;padding:15px;border-radius:10px;border:1px solid #ddd}.video-wrapper{position:relative;display:inline-block;width:100%;-webkit-user-select:none;user-select:none}.video-container.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:#999}.result-video{width:100%;height:auto;border-radius:8px;background:#000;display:block}.table-responsive{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}thead th{background-color:#bca88d;color:#3e3f29;text-align:left;padding:12px;border-bottom:2px solid #3e3f29}tbody td{padding:12px;border-bottom:1px solid #eee;color:#333}tbody tr:nth-child(2n){background-color:#f9fafb}.badge{background-color:#f1f0e4;color:#3e3f29;padding:4px 10px;border-radius:20px;font-size:.85rem;font-weight:600}.mono-font{font-family:monospace;color:#666;font-size:.85rem}.no-data{color:#d9534f;font-style:italic}.frame-details{margin-top:30px;padding-top:20px;border-top:2px solid #e5e7eb}.frame-list{max-height:250px;overflow-y:auto;background:#f9fafb;padding:15px;border-radius:8px;border:1px solid #e5e7eb}.frame-item{padding:8px 0;font-size:.9rem;color:#555;border-bottom:1px solid #e5e7eb}.frame-item:last-child{border-bottom:none}@media (max-width:900px){.results-container{flex-direction:column;grid-gap:30px;gap:30px;padding-top:40px;margin-top:40px}.results-details-card,.results-summary{width:100%;margin-left:0;max-width:100%}.results-summary h3{border-left:none;text-align:center;border-bottom:4px solid #3e3f29;padding-left:0;padding-bottom:10px}}@media (max-width:600px){.results-container{padding:30px 15px 0;margin-top:30px}.results-details-card{padding:15px}.results-summary h3{font-size:1.6rem}.region-info p{font-size:.9rem}.highlight-count{font-size:1rem;padding:2px 8px}}@media (max-width:430px){.results-container{padding:0 12px}table{font-size:.85rem}tbody td,thead th{padding:8px}}.navbar{justify-content:space-between;position:fixed;top:0;left:0;right:0;width:100%;height:90px;padding:0 50px;box-sizing:border-box;z-index:9999;background-color:#e5e0d8;box-shadow:0 1px 10px rgba(0,0,0,.1)}.logo,.navbar{display:flex;align-items:center}.logo{font-size:24px;font-weight:800;color:#3e3f29;cursor:pointer}.logo-box{background-color:#bca88d;color:#3e3f29;padding:4px 8px;border-radius:6px;margin-left:6px;font-size:.9em}.nav-links{display:flex;grid-gap:40px;gap:40px}.nav-links a{text-decoration:none;color:#3e3f29;font-weight:500;font-size:16px;transition:all .3s ease}.nav-links a.active,.nav-links a:hover{color:#3e3f29;font-weight:700}.btn-contact{background-color:#0a2540;color:#fff;border:1px solid hsla(0,0%,100%,.1);padding:10px 24px;border-radius:4px;cursor:pointer;font-weight:600;font-size:14px;transition:background-color .3s}.btn-contact:hover{background-color:#2c527a}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:28px;height:22px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10}.hamburger span{width:100%;height:3px;background-color:#3e3f29;border-radius:3px;transition:all .3s ease}.hamburger span.open:first-child{transform:translateY(9.5px) rotate(45deg)}.hamburger span.open:nth-child(2){opacity:0}.hamburger span.open:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)}@media (max-width:768px){.navbar{padding:0 20px;height:70px}.logo{font-size:20px}.hamburger{display:flex}.nav-links{position:fixed;top:70px;left:0;right:0;background-color:#e5e0d8;flex-direction:column;grid-gap:0;gap:0;padding:20px;box-shadow:0 4px 10px rgba(0,0,0,.1);transform:translateX(-100%);transition:transform .3s ease}.nav-links.active{transform:translateX(0)}.nav-links a{padding:15px 0;border-bottom:1px solid rgba(62,63,41,.1);font-size:18px}.nav-links a:last-child{border-bottom:none}}@media (max-width:480px){.navbar{padding:0 15px;height:65px}.logo{font-size:18px}.logo-box{font-size:.85em;padding:3px 6px}.nav-links{top:65px}}.hero{max-width:1200px;width:100%;margin:100px auto 0;display:flex;align-items:center;justify-content:space-between;padding:clamp(40px,8vw,60px) 20px clamp(70px,10vw,100px);grid-gap:clamp(30px,6vw,50px);gap:clamp(30px,6vw,50px)}.hero-content{flex:1 1}.hero h1{font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.1;font-weight:900;margin:0 0 20px;color:#3e3f29;word-break:break-word}.highlight{background:linear-gradient(135deg,#2f5d50,#4f8f7a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;font-weight:900}.subtitle{font-size:clamp(.95rem,1.2vw,1.125rem);color:#666;margin-bottom:clamp(28px,6vw,40px);max-width:560px;line-height:1.6}.btn-start{border-radius:30px;background-color:#bca88d;color:#fff;border:none;padding:clamp(12px,2.5vw,16px) clamp(26px,5vw,32px);font-size:clamp(.9rem,1.1vw,1rem);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;grid-gap:10px;gap:10px;text-decoration:none;box-shadow:0 5px 20px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s}.btn-start:hover{transform:translateY(-2px)}.hero-image-wrapper{flex:1 1;display:flex;justify-content:flex-end;min-width:280px}.image-box{position:relative;width:100%;max-width:clamp(300px,40vw,450px);height:clamp(340px,55vw,500px);background-color:#e5e5e5;overflow:hidden;border-radius:20px}.model-img{width:100%;height:100%;object-fit:cover;display:block}.face-frame{position:absolute;inset:12%;border:4px solid hsla(0,0%,100%,.8);pointer-events:none;-webkit-backdrop-filter:brightness(1.05);backdrop-filter:brightness(1.05)}@media (max-width:1024px){.hero{padding-top:80px}.subtitle{max-width:520px}}@media (max-width:900px){.hero{flex-direction:column-reverse;text-align:center;margin-top:80px}.hero-content{align-items:center;display:flex;flex-direction:column}.hero-image-wrapper{justify-content:center;width:100%}.image-box{height:clamp(300px,60vw,420px)}.face-frame{inset:10%}}@media (max-width:600px){.hero{margin-top:70px;padding-top:50px}.hero h1{font-size:clamp(2rem,9vw,2.6rem)}.subtitle{font-size:.95rem;max-width:100%}.image-box{max-width:100%;height:clamp(260px,70vw,360px)}}@media (max-width:430px){.hero{padding:40px 16px 70px}.hero h1{font-size:clamp(1.8rem,11vw,2.2rem)}.btn-start{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.btn-start:hover{transform:none}}.body{font-family:"Inter",sans-serif!important}.about-container{background:#fff;min-height:100vh;color:#1f2937}.about-hero{background:linear-gradient(135deg,#3e3f29,#7d8d86);padding:150px 20px 60px;text-align:center;color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.1)}.about-title{font-size:3.5rem;font-weight:800;margin:0;letter-spacing:-1px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.about-subtitle{opacity:.95;font-weight:300;font-size:1.15rem;line-height:1.8;text-align:center;max-width:85%;margin:15px auto 40px}.about-content{max-width:1200px;margin:0 auto;padding:60px 20px}.project-section{margin-bottom:80px}.project-section h2{font-size:2.5rem;font-weight:800;color:#3e3f29;margin-top:0;margin-bottom:20px;border-left:5px solid #2f5d50;padding-left:20px;line-height:1.1}.project-section>p{font-size:1.15rem;line-height:1.8;color:#555;margin-bottom:40px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:30px;gap:30px;margin-top:40px}.feature-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease;text-align:center}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.feature-icon{font-size:3rem;display:block;margin-bottom:15px}.feature-card h3{font-size:1.3rem;color:#3e3f29;margin-bottom:10px}.feature-card p{font-size:.95rem;color:#666;line-height:1.6}.team-section{margin-bottom:80px}.team-section h2{font-size:2.5rem;font-weight:800;color:#3e3f29;margin-top:0;margin-bottom:20px;border-left:5px solid #2f5d50;padding-left:20px;line-height:1.1}.team-intro{font-size:1.15rem;line-height:1.8;color:#555;margin-bottom:40px}.team-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.team-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,.12)}.team-image-container{height:320px;border-top-left-radius:22px;border-top-right-radius:22px}.team-img{filter:grayscale(15%)}.team-card:hover .team-img{transform:scale(1.05)}.team-info{padding:25px 20px;text-align:center;background:#fff}.team-name{font-size:1.5rem;font-weight:800!important;letter-spacing:-.03em}.team-nim{font-size:.95rem;color:#7d8d86;font-weight:600;display:block}.team-bio{font-size:.9rem;color:#666;line-height:1.6;text-align:left;margin-top:15px;padding-top:15px;border-top:1px solid #f1f1f1}.tech-section{margin-bottom:80px}.tech-section h2{font-size:2.5rem;font-weight:800;color:#3e3f29;margin-top:0;margin-bottom:20px;border-left:5px solid #2f5d50;padding-left:20px;line-height:1.1}.tech-section{margin-bottom:120px}.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;max-width:800px;margin:0 auto}.tech-item{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;grid-gap:14px;gap:14px;box-shadow:0 8px 24px rgba(0,0,0,.08);transition:transform .2s ease}.tech-item:hover{transform:translateY(-4px)}.tech-icon{font-size:1.6rem}.tech-name{font-size:1rem;font-weight:500}.footer-section{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),url(/static/media/fti.09856811.jpg);background-size:cover;background-position:50%;color:#fff;padding:40px;border-radius:20px;text-align:center}.university-info h3{font-size:1.8rem;margin-bottom:15px;font-weight:700}.university-info p{font-size:1.1rem;margin:8px 0;opacity:.9}.year{margin-top:20px!important;font-size:1rem!important;opacity:.7!important;font-weight:300}@media (max-width:768px){.about-title{font-size:2.5rem}.about-subtitle{font-size:1.1rem}.project-section h2,.team-section h2,.tech-section h2{font-size:2rem}.features-grid,.team-grid,.tech-grid{grid-template-columns:1fr}.about-content{padding:40px 15px}}@media (max-width:480px){.about-hero{padding:60px 15px 40px}.about-title{font-size:2rem}.team-card{padding:30px 20px}}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:30px;gap:30px;margin-top:50px}.team-card{text-align:left}.team-image-container{width:100%;aspect-ratio:1/1.2;border-radius:16px;overflow:hidden;margin-bottom:20px;background-color:#f1f0e4}.team-img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:all .4s ease}.team-card:hover .team-img{filter:grayscale(0);transform:scale(1.03)}.team-name{font-size:1.4rem;font-weight:700;color:#3e3f29;margin-bottom:5px;line-height:1.2}.team-nim-text{font-size:.9rem;color:#7d8d86;font-family:"Courier New",monospace;margin:0}.team-link-icon{float:right;margin-top:-25px;color:gold;font-weight:700}@media (max-width:992px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.team-grid{grid-template-columns:1fr;grid-gap:45px;gap:45px}.team-name{font-size:1.6rem}}*{box-sizing:border-box;font-family:"Inter",-apple-system,sans-serif!important}body,html{overflow-x:hidden;background-color:#fff;color:#111;-webkit-font-smoothing:antialiased}.container,body,html{margin:0;padding:0;width:100%}.container{max-width:100%;display:flex;flex-direction:column}.main-content{width:100%}.app-title{font-size:48px;font-weight:900!important;color:#3e3f29;margin-bottom:16px;letter-spacing:-.05em!important;line-height:1.1}.app-subtitle{font-size:18px;color:#666;margin-bottom:40px;max-width:600px;line-height:1.6;font-weight:400;letter-spacing:-.01em}.hero-wrapper{width:100%;display:flex;flex-direction:column}.results-section{width:100%;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.app-title{font-size:32px;letter-spacing:-.03em!important}.app-subtitle{font-size:16px}}.footer{width:100%;padding:25px 50px;box-sizing:border-box;background-color:#e5e0d8;color:#3e3f29;text-align:center;font-size:14px;font-weight:500;border-top:1px solid rgba(62,63,41,.1);margin-top:auto}@media (max-width:768px){.footer{padding:20px;font-size:12px}}
/*# sourceMappingURL=main.0d031c8b.chunk.css.map */