@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;800&family=Playfair+Display:wght@700;900&display=swap";:root{--font-main:"Plus Jakarta Sans", sans-serif;--font-heading:"Plus Jakarta Sans", sans-serif;--primary:#3b82f6;--secondary:#1e3a8a;--bg-dark:#0f172a;--text-main:#fff;--text-muted:#64748b;--border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle,#1e3a8a 0%,#0f172a 100%)!important}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{color:var(--primary)}.container{background-color:var(--bg-main);flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex}.start-screen{z-index:9999;background:radial-gradient(circle at 70% 30%,#1e3a8a 0%,#0f172a 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.start-screen:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.login-card{text-align:center;z-index:10;background:#fffffffa;border:1px solid #fff3;border-radius:32px;width:90%;max-width:440px;padding:3.5rem 2.5rem;animation:.8s cubic-bezier(.2,.8,.2,1) cardEntrance;position:relative;box-shadow:0 25px 50px -12px #00000080}@keyframes cardEntrance{0%{opacity:0;transform:scale(.9)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.univ-logo{filter:drop-shadow(0 4px 10px #0000001a);width:110px;height:auto;margin-bottom:1.5rem}.univ-name{color:#1e3a8a;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.25rem;font-size:1.2rem;font-weight:800}.faculty-name{color:#64748b;letter-spacing:1px;margin-bottom:2.5rem;font-size:.85rem;font-weight:600}.team-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;margin-bottom:2.5rem;padding:1.5rem}.team-title{color:#94a3b8;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.25rem;font-size:.7rem;font-weight:800}.team-member{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.8rem 0;display:flex}.team-member:last-child{border-bottom:none}.member-name{color:#1e293b;font-size:.9rem;font-weight:700}.member-id{color:#3b82f6;background:#eff6ff;border-radius:8px;padding:.25rem .6rem;font-family:Monaco,Consolas,monospace;font-size:.8rem;font-weight:700}.start-button{color:#fff;letter-spacing:1.5px;cursor:pointer;background:#1e3a8a;border:none;border-radius:16px;width:100%;padding:1.1rem;font-size:1rem;font-weight:800;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 20px -5px #1e3a8a66}.start-button:hover{background:#1e40af;transform:translateY(-3px);box-shadow:0 20px 25px -5px #1e3a8a80}.video-container{border:4px solid var(--bg-card);background:#000;border-radius:12px;width:800px;height:600px;position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a}@media (width<=850px){.video-container{aspect-ratio:4/3;width:100%;height:auto}}.webcam-video{object-fit:cover;width:100%;height:100%;transform:rotateY(180deg)}.output-canvas{z-index:1;width:100%;height:100%;position:absolute;inset:0;transform:rotateY(180deg)}.face-area-box{z-index:2;border:3px dashed #fff6;border-radius:24px;width:60%;height:50%;transition:all .3s;position:absolute;top:30%;left:20%}.face-area-box.active{background:#10b9811a;border:4px solid #10b981}.filter-grayscale{filter:grayscale()}.filter-sepia{filter:sepia()}.filter-invert{filter:invert()}.filter-hue-rotate{filter:hue-rotate(90deg)}.gesture-display{border:1px solid var(--border);background:#f1f5f9;border-radius:99px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1.5rem;display:inline-flex}.container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;background:0 0!important}.main-layout{flex-direction:row;justify-content:center;align-items:flex-start;gap:2rem;width:100%;max-width:1300px;display:flex}.video-container{background:#000;border:1px solid #ffffff1a;border-radius:28px;flex:1;max-width:750px;line-height:0;position:relative;overflow:hidden;box-shadow:0 30px 60px -12px #0009}.controls{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:28px;flex-direction:column;gap:1rem;width:420px;padding:1.75rem;display:flex;box-shadow:0 20px 40px #0006}.gesture-display .label{text-transform:uppercase;color:#94a3b8;font-size:.8rem;font-weight:700}.gesture-display .gesture-name{color:#3b82f6;font-size:1.1rem;font-weight:800}.filter-controls{background:#0003;border:1px solid #ffffff0d;border-radius:24px;margin-bottom:2.5rem;padding:2rem}.filter-label{color:#3b82f6;text-transform:uppercase;font-weight:700;margin-bottom:1rem!important;font-size:.85rem!important}.filter-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.filter-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:.75rem 1.5rem;font-weight:700;transition:all .3s}.filter-btn:hover{color:#fff;background:#ffffff1a}.filter-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 25px #3b82f680}.adjustment-panel{border-top:1px solid #ffffff1a;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-top:2rem;padding-top:1.5rem;display:grid}.adj-item label{color:#94a3b8;margin-bottom:.75rem}.adj-item input[type=range]{accent-color:#3b82f6}.stats-display{background:#0003;border:1px dashed #ffffff1a;border-radius:16px;justify-content:center;gap:3rem;margin-bottom:2rem;padding:1.25rem;display:flex}.stat-item{flex-direction:column;gap:.25rem;display:flex}.stat-label{text-transform:uppercase;color:#64748b;letter-spacing:1px;font-size:.7rem;font-weight:800}.stat-value{color:#3b82f6;font-family:Monaco,Consolas,monospace;font-size:1.1rem;font-weight:800}.loading{z-index:10000;background:#0f172a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-text{color:#fff;letter-spacing:4px;font-size:2rem;font-weight:800;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}
