body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden;-webkit-user-select:none;user-select:none;-moz-user-select:none}.app{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background-attachment:fixed;display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.app:before{animation:gradientShift 8s ease-in-out infinite alternate;background:radial-gradient(circle at 20% 80%,#7877c64d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ff77c64d 0,#0000 50%),radial-gradient(circle at 40% 40%,#78dbff33 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes gradientShift{0%{opacity:.7}to{opacity:1}}.container{max-width:1000px;position:relative;width:100%;z-index:1}.header{animation:fadeInUp 1s ease-out;color:#fff;margin-bottom:40px;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.header-icon{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));font-size:64px;margin-bottom:20px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:800;letter-spacing:-1px;margin-bottom:12px;text-shadow:0 4px 16px #0000004d}.subtitle{font-size:18px;font-weight:400;opacity:.95;text-shadow:0 2px 8px #0003}.main-card{animation:slideInUp 1.2s ease-out .3s both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 32px 64px #0000001f,0 16px 32px #00000014,inset 0 1px 0 #fffc;padding:40px;position:relative}@keyframes slideInUp{0%{opacity:0;transform:translateY(60px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.main-card:before{background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:24px 24px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.status-bar{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#e8f4fd,#d4edda);border:2px solid #4fc3f7;border-radius:16px;color:#0d47a1;font-size:15px;font-weight:600;margin-bottom:32px;overflow:hidden;padding:20px;position:relative;text-align:center}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.status-bar:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.video-container{animation:videoGlow 4s ease-in-out infinite alternate;background:linear-gradient(45deg,#f0f4ff,#e8f2ff);border-radius:20px;box-shadow:0 24px 48px #00000026,0 12px 24px #0000001a;display:flex;justify-content:center;margin-bottom:32px;overflow:hidden;padding:4px;position:relative}@keyframes videoGlow{0%{box-shadow:0 24px 48px #667eea26,0 12px 24px #667eea1a}to{box-shadow:0 24px 48px #f093fb26,0 12px 24px #f093fb1a}}.loading-overlay{align-items:center;color:#667eea;display:flex;flex-direction:column;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #667eea33;border-left-color:#667eea;border-radius:50%;height:40px;margin-bottom:12px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.video-feed{border-radius:16px;display:block;height:auto;max-width:640px;transition:all .3s ease;width:100%}.video-feed:hover{transform:scale(1.02)}.detection-overlay{border-radius:16px;left:50%;pointer-events:none;position:absolute;top:4px;transform:translateX(-50%)}.control-buttons{display:flex;gap:20px;justify-content:center;margin-bottom:40px}.btn-start,.btn-stop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;min-width:200px;overflow:hidden;padding:16px 32px;position:relative;text-transform:uppercase;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn-start{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 8px 32px #22c55e4d;color:#fff}.btn-start:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-start:hover:before{left:100%}.btn-start:hover:not(:disabled){background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 12px 40px #22c55e66;transform:translateY(-2px) scale(1.02)}.btn-start:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);box-shadow:none;cursor:not-allowed;transform:none}.btn-stop{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 32px #ef44444d;color:#fff}.btn-stop:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-stop:hover:before{left:100%}.btn-stop:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 12px 40px #ef444466;transform:translateY(-2px) scale(1.02)}.btn-stop:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);box-shadow:none;cursor:not-allowed;transform:none}.stats-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.stat-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:2px solid #ffffff1a;border-radius:16px;overflow:hidden;padding:24px 20px;position:relative;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.stat-box:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.stat-box:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14);border-color:#fff3;box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.stat-box:hover:before{transform:scaleX(1)}.stat-box h3{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.stat-value{color:#1f2937;font-size:28px;font-weight:800;text-shadow:0 2px 4px #0000001a;transition:all .3s ease}.stat-box:hover .stat-value{transform:scale(1.1)}.emotion-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;background-clip:text}.confidence-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#047857);-webkit-background-clip:text;background-clip:text}.mode-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;background-clip:text}.emotion-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.emotion-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:2px solid #fff3;border-radius:50px;color:#4b5563;cursor:pointer;font-size:14px;font-weight:600;overflow:hidden;padding:12px 20px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.emotion-btn:before{background:radial-gradient(circle,#ffffff4d 0,#0000 70%);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .4s ease;width:0}.emotion-btn:hover:before{height:100px;width:100px}.emotion-btn:hover{background:linear-gradient(135deg,#fff3,#ffffff1a);border-color:#fff6;box-shadow:0 8px 24px #00000026;color:#1f2937;transform:translateY(-2px) scale(1.05)}.emotion-btn:active{transform:translateY(0) scale(1.02)}@media (max-width:768px){.app{padding:15px}.main-card{border-radius:20px;padding:24px}.title{font-size:32px}.subtitle{font-size:16px}.stats-container{gap:16px;grid-template-columns:1fr}.control-buttons{align-items:center;flex-direction:column;gap:16px}.btn-start,.btn-stop{max-width:300px;width:100%}.emotion-buttons{gap:8px;justify-content:center}.emotion-btn{font-size:12px;padding:10px 16px}}@media (max-width:480px){.header-icon{font-size:48px}.title{font-size:28px}.main-card{padding:20px}.video-container{margin-bottom:24px}.status-bar{font-size:14px;padding:16px}}
/*# sourceMappingURL=main.aef703d5.css.map*/