@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&display=swap";:root{--primary:#f36;--primary-glow:#ff336680;--secondary:#00f0ff;--bg-color:#0a0a1a;--surface:#ffffff0d;--surface-border:#ffffff1a;--text-main:#fff;--text-muted:#ffffffb3}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif}body{background-color:var(--bg-color);color:var(--text-main);background-image:radial-gradient(circle at 15%,#ff336626,#0000 25%),radial-gradient(circle at 85% 30%,#00f0ff26,#0000 25%);min-height:100vh;overflow:hidden}.app-container{flex-direction:column;width:100vw;max-width:600px;height:100vh;margin:0 auto;display:flex;position:relative}header{text-align:center;z-index:10;background:linear-gradient(#0a0a1ae6 0%,#0a0a1a00 100%);padding:20px}header h1{text-transform:uppercase;letter-spacing:2px;background:linear-gradient(45deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:15px;font-size:1.5rem;font-weight:800}nav{justify-content:center;gap:10px;display:flex}nav button{background:var(--surface);border:1px solid var(--surface-border);color:var(--text-muted);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:8px 24px;font-size:.9rem;font-weight:600;transition:all .3s}nav button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}main{flex:1;position:relative;overflow:hidden auto}.view{width:100%;height:100%;animation:.3s ease-out forwards fadeIn;display:none}.view.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.camera-container{background:#000;border-radius:20px;width:100%;height:calc(100vh - 160px);position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}#video{object-fit:cover;width:100%;height:100%}#canvas-overlay{z-index:5;width:100%;height:100%;position:absolute;top:0;left:0}.loading{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--surface-border);z-index:10;background:#000000b3;border-radius:30px;padding:15px 25px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.controls{text-align:center;padding:20px}.register-form{background:var(--surface);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin:0 20px 20px;padding:20px}.register-form h2{text-align:center;margin-bottom:20px;font-size:1.2rem}.file-upload-wrapper{text-align:center;margin-bottom:20px}input[type=file]{display:none}.btn{cursor:pointer;text-align:center;border:none;border-radius:25px;width:100%;padding:12px 24px;font-weight:600;transition:all .3s;display:inline-block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(45deg, var(--primary), #ff5e85);color:#fff;box-shadow:0 5px 15px var(--primary-glow)}.btn.secondary{background:var(--surface);color:#fff;border:1px solid var(--surface-border)}.btn.outline{color:var(--secondary);border:1px solid var(--secondary);background:0 0}.preview-container{border:2px solid var(--secondary);border-radius:50%;width:100px;height:100px;margin:0 auto 20px;position:relative;overflow:hidden}.preview-container.hidden{display:none}#image-preview{object-fit:cover;width:100%;height:100%}#preview-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.status-msg{text-align:center;color:var(--secondary);margin-top:5px;font-size:.8rem}.input-group{margin-bottom:15px}.input-group label{color:var(--text-muted);margin-bottom:5px;font-size:.9rem;display:block}.input-group input,.input-group select{border:1px solid var(--surface-border);color:#fff;background:#0000004d;border-radius:12px;outline:none;width:100%;padding:12px 15px;font-size:1rem;transition:border-color .3s}.input-group input:focus,.input-group select:focus{border-color:var(--secondary)}.input-group select option{background:var(--bg-color);color:#fff}.registered-list{padding:0 20px 40px}.registered-list h2{margin-bottom:15px;font-size:1.2rem}#user-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;list-style:none;display:grid}.user-card{background:var(--surface);border:1px solid var(--surface-border);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:15px;padding:15px;position:relative}.user-card .mbti-badge{background:var(--primary);color:#fff;border-radius:10px;padding:3px 8px;font-size:.7rem;font-weight:800;position:absolute;top:-10px;right:-10px;box-shadow:0 2px 5px #00000080}.user-card img{object-fit:cover;border:2px solid var(--secondary);border-radius:50%;width:60px;height:60px;margin-bottom:10px}.user-card .name{font-size:.9rem;font-weight:600}.delete-btn{color:#fff;cursor:pointer;background:#f36c;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;display:flex;position:absolute;top:5px;left:5px}.modal{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal.hidden{display:none}.modal-content{background:var(--bg-color);border:1px solid var(--surface-border);text-align:center;border-radius:15px;width:90%;max-width:400px;padding:20px}.cropper-container{background:#000;border-radius:10px;max-height:50vh;margin:15px 0;overflow:hidden}.cropper-container img{max-width:100%;display:block}.modal-actions{gap:10px;display:flex}#static-match-img{object-fit:contain;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.hidden{display:none!important}
