@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--glass-bg: rgba(20, 20, 35, .7);--glass-border: rgba(255, 255, 255, .1);--accent-color: #4f46e5;--accent-hover: #6366f1;--text-primary: #ffffff;--text-secondary: #a1a1aa;--danger-color: #ef4444;--success-color: #10b981}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}body{font-family:Inter,sans-serif;color:var(--text-primary)}html{font-size:13px}body.first-person-cursor{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><text y="24" font-size="24">👁️</text></svg>') 16 16,auto}#canvas.first-person-cursor{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><text y="24" font-size="24">👁️</text></svg>') 16 16,auto}body.first-person-cursor .prompt-window{margin-right:20rem;transform:perspective(600px) rotateY(-15deg);transform-origin:left center}body.first-person-cursor .info-panel .app-title,body.first-person-cursor .info-panel .instructions,body.first-person-cursor .info-panel .control-group{display:none}#headset-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:5;opacity:0;transition:opacity .5s ease;overflow:hidden}#headset-overlay.visible{opacity:1}#headset-overlay img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:fill}#ui-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;padding:2rem;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto auto;gap:1rem;z-index:10}.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;pointer-events:auto;box-shadow:0 8px 32px #0000005e;transition:transform .2s ease,box-shadow .2s ease}.glass-card:hover{box-shadow:0 8px 32px #00000080}.info-panel{max-width:320px}.app-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;background:linear-gradient(90deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.instructions{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.key-hint{display:inline-block;background:#ffffff1a;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff;margin:0 2px}.controls-panel{align-self:center;display:flex;gap:2rem;align-items:center;margin-bottom:1rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.btn{background:#ffffff1a;border:1px solid var(--glass-border);color:#fff;padding:.5rem 1rem;border-radius:8px;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn:hover{background:#fff3;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-danger:hover{background:#ef444433;border-color:#ef444480;color:#fca5a5}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.4s;border-radius:24px;border:1px solid var(--glass-border)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent-color);border-color:var(--accent-color)}input:checked+.slider:before{transform:translate(24px)}.range-container{display:flex;align-items:center;gap:1rem;width:300px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:transparent}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#fff;cursor:pointer;margin-top:-6px;box-shadow:0 2px 6px #0000004d}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;background:#fff3;border-radius:2px}.value-display{font-family:Courier New,monospace;font-size:.875rem;color:var(--accent-hover);min-width:3ch}.legend{display:flex;gap:4px;height:6px;width:100%;margin-top:.5rem;border-radius:3px;overflow:hidden}.legend-item{flex:1}.onboarding-panel{grid-column:1;grid-row:1;max-width:350px;display:flex;flex-direction:column;gap:1.5rem;transition:opacity .3s ease,transform .3s ease;align-self:start}.audio-test-panel{grid-column:2;grid-row:1;align-self:start;justify-self:start;width:350px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem!important;z-index:100;margin-top:0;margin-left:1rem}.audio-test-panel.hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}.audio-test-header{display:flex;justify-content:space-between;align-items:center;margin:0}.audio-test-header h3{margin:0;font-size:.95rem;font-weight:600}.btn-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;line-height:1}.btn-close:hover{background:#ffffff1a;color:var(--text-primary)}.audio-test-content{display:flex;flex-direction:column;gap:.75rem}.audio-test-instruction{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.audio-test-controls{display:flex;gap:.5rem;flex-wrap:wrap}.btn-primary{background:var(--danger-color);color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s;white-space:nowrap}.btn-primary:hover{background:#dc2626;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--accent-color);color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s;white-space:nowrap}.btn-secondary:hover{background:var(--accent-hover);transform:translateY(-1px)}.audio-test-status{font-size:.8rem;color:var(--text-secondary);min-height:1.2rem;display:flex;align-items:center;gap:.5rem}.recording-indicator{display:inline-block;width:8px;height:8px;background:var(--danger-color);border-radius:50%;animation:pulse-red 1s infinite}@keyframes pulse-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.onboarding-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.onboarding-header h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary)}.btn-skip{background:transparent;border:1px solid var(--glass-border);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-skip:hover{background:#ffffff1a;color:var(--text-primary)}.onboarding-checklist{display:flex;flex-direction:column;gap:1rem}.checklist-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#ffffff0d;border-radius:8px;transition:all .3s ease}.step-content{display:flex;flex-direction:column;width:100%;gap:.25rem}.checklist-item.completed{background:#10b9811a}.checkbox{width:20px;height:20px;border:2px solid var(--text-secondary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.checklist-item.completed .checkbox{background:var(--success-color);border-color:var(--success-color)}.checklist-item.completed .checkbox:after{content:"✓";color:#fff;font-weight:700;font-size:14px}.step-label{font-size:.9rem;color:var(--text-secondary)}.checklist-item.completed .step-label{color:var(--text-primary);text-decoration:line-through}.checklist-item.active-step{background:#10b9811a;border:1px solid rgba(16,185,129,.5);box-shadow:0 0 10px #10b98133;animation:pulse-border-glow 2s infinite}@keyframes pulse-border-glow{0%{box-shadow:0 0 #10b98166;border-color:#10b98180}50%{box-shadow:0 0 15px #10b98133;border-color:#10b981cc}to{box-shadow:0 0 #10b98166;border-color:#10b98180}}.onboarding-instruction{position:fixed;top:75%;left:50%;transform:translate(-50%,-50%);padding:1.5rem 2.5rem;background:#141423cc;border:1px solid var(--accent-color);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;text-align:center;box-shadow:0 4px 20px #0000004d;pointer-events:auto;transition:all .5s ease;min-width:300px;opacity:0;transform:translate(-50%,-40%);pointer-events:none}.onboarding-instruction.visible{opacity:1;transform:translate(-50%,-50%);pointer-events:auto}.btn-close-instruction{position:absolute;top:5px;right:10px;background:transparent;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color .2s}.btn-close-instruction:hover{color:#fff}.onboarding-instruction p{margin:0;font-size:1.5rem;font-weight:600;line-height:1.4;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.info-panel{grid-column:3;grid-row:1;align-self:start;justify-self:end}.controls-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;justify-content:flex-start;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:3000;background:#141423f2;border:1px solid var(--glass-border);border-radius:16px;padding:2rem;box-shadow:0 10px 40px #00000080;min-width:300px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.controls-panel.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.btn-secondary{background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--text-primary);color:var(--text-primary)}.btn-settings{justify-content:center;background:#4f46e533;border-color:var(--accent-color)}.btn-settings:hover{background:#4f46e54d;border-color:var(--accent-hover)}.btn-camera{justify-content:center;background:#10b98133;border-color:var(--success-color)}.btn-camera:hover{background:#10b9814d;border-color:var(--success-color)}.btn-camera.active{background:var(--success-color);border-color:var(--success-color)}.prompt-window{position:fixed;bottom:2rem;right:2rem;width:350px;display:flex;flex-direction:column;gap:1rem;margin:0;z-index:100}.prompt-header{border-bottom:1px solid var(--glass-border);padding-bottom:.75rem}.prompt-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.prompt-content{min-height:100px;display:flex;align-items:center;justify-content:center}.prompt-content p{margin:0;font-size:1rem;line-height:1.6;color:var(--text-primary);text-align:center}.prompt-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--glass-border)}.prompt-dots{display:flex;gap:.5rem;align-items:center}.dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.dot:hover{background:#ffffff80;transform:scale(1.2)}.dot.active{background:var(--accent-color);width:10px;height:10px}.prompt-controls{display:flex;gap:.5rem}.btn-nav{background:#ffffff1a;border:1px solid var(--glass-border);color:#fff;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.btn-nav:hover:not(:disabled){background:#fff3;transform:translateY(-1px)}.btn-nav:active:not(:disabled){transform:translateY(0)}.btn-nav:disabled{opacity:.3;cursor:not-allowed}.hidden-left{transform:translate(-120%);opacity:0}.hidden-right{transform:translate(120%);opacity:0}.slide-in-left{animation:slideInLeft .8s cubic-bezier(.2,.8,.2,1) forwards}.slide-in-right{animation:slideInRight .8s cubic-bezier(.2,.8,.2,1) forwards}@keyframes slideInLeft{0%{transform:translate(-120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.panel-divider{border:0;height:1px;background:#ffffff1a;margin:1rem 0}.items-section h3{font-size:.9rem;color:var(--text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.items-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2rem}.item-chip{padding:.25rem .75rem;border-radius:100px;font-size:.85rem;font-weight:500;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}.no-items{font-size:.85rem;color:var(--text-secondary);font-style:italic;opacity:.7}.interaction-prompt{position:fixed;top:60%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:#141423e6;border:1px solid rgba(255,255,255,.15);border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.interaction-prompt.hidden{opacity:0;transform:translate(-50%) translateY(10px);pointer-events:none}.interaction-prompt .key-icon{background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.25rem .5rem;font-family:monospace;font-weight:700;font-size:.9rem;color:var(--accent-color);box-shadow:0 2px #0003}.interaction-prompt span{color:var(--text-primary);font-weight:500}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.notification{position:fixed;top:2rem;left:50%;transform:translate(-50%);padding:1rem 2rem;border-radius:12px;z-index:200;background:#10b98133;border:1px solid rgba(16,185,129,.3);color:#fff;font-weight:500}.fade-out{opacity:0;transition:opacity .5s ease}.mission-complete-btn{margin-top:1rem;width:100%;padding:.75rem;border:none;border-radius:8px;background:var(--success-color);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 0 15px #10b98180;animation:pulse-green 2s infinite;transition:transform .2s ease}.mission-complete-btn:hover{transform:scale(1.02)}.mission-complete-btn.hidden{display:none}@keyframes pulse-green{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.strikethrough{text-decoration:line-through;opacity:.6}.completed-label{display:block;font-size:.75rem;color:var(--success-color);font-weight:700;margin-top:.25rem;text-transform:uppercase;letter-spacing:.05em}.bottom-controls-container{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;align-items:center;z-index:100;transition:transform .3s ease,opacity .3s ease}.bottom-controls-container.hidden{transform:translate(-50%) translateY(100px);opacity:0;pointer-events:none}.emotion-bar{position:relative;bottom:auto;left:auto;transform:none;display:none;gap:1rem;padding:.75rem;border-radius:16px}.emotion-btn{width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;font-size:1.5rem;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;justify-content:center}.emotion-btn:hover{background:#ffffff26;transform:scale(1.1)}.emotion-btn.active{background:var(--accent-color);border-color:var(--accent-color);transform:scale(1.2);box-shadow:0 0 15px #6366f180}.completion-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease}.completion-popup.visible{opacity:1;pointer-events:auto}.popup-content{padding:2rem 3rem;border-radius:20px;text-align:center;transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.completion-popup.visible .popup-content{transform:scale(1)}.popup-content h2{font-size:2rem;margin-bottom:.5rem;color:var(--success-color)}.popup-content p{color:var(--text-secondary);font-size:1.1rem}.recording-panel{display:none;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;border-radius:16px}.recording-panel.visible{display:flex}.recording-indicator{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-weight:700;font-size:1.2rem}.rec-dot{width:12px;height:12px;background-color:#ef4444;border-radius:50%;animation:pulse-red 1.5s infinite}@keyframes pulse-red{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse-blue{0%{box-shadow:0 0 #6366f1b3}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}.pulse-green-border{animation:pulse-green-border 2s infinite;border-color:var(--success-color)!important;box-shadow:0 0 20px #10b9814d!important}@keyframes pulse-green-border{0%{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 20px 5px #10b98133}to{box-shadow:0 0 #10b98166}}.webcam-video{position:fixed;bottom:1rem;left:1rem;width:160px;height:120px;border-radius:12px;border:2px solid var(--glass-border);filter:blur(12px);object-fit:cover;z-index:1000;transform:scaleX(-1);background:#00000080}.webcam-video.hidden{display:none}.emotion-btn.detected{background:#4f46e54d;border-color:var(--accent-color);box-shadow:0 0 15px #4f46e580;animation:pulse-emotion 1.5s infinite}@keyframes pulse-emotion{0%,to{box-shadow:0 0 15px #4f46e580}50%{box-shadow:0 0 25px #4f46e5cc}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:5000;display:flex;justify-content:center;align-items:center;opacity:1;transition:opacity .3s ease}.modal-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden}.modal-content{max-width:400px;text-align:center;transform:scale(1);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.hidden .modal-content{transform:scale(.9)}.modal-content h3{margin-top:0;color:var(--text-primary)}.modal-content p{color:var(--text-secondary);line-height:1.5}.landing-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f0f1a;z-index:10000;display:flex;justify-content:center;align-items:center;opacity:1;transition:opacity .5s ease}.landing-overlay.hidden{opacity:0;pointer-events:none}.landing-background{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,#4f46e526,#0f0f1a00 70%);z-index:-1}.landing-content{text-align:center;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:slideUpFade .8s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-title{font-size:5rem;font-weight:800;letter-spacing:.1em;margin:0;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 10px 30px rgba(79,70,229,.3)}.landing-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:600px;line-height:1.6;margin-bottom:2rem}.btn-explore{background:var(--accent-color);color:#fff;padding:1rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:600;letter-spacing:.05em;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #4f46e566;display:flex;align-items:center}.btn-explore:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 30px #4f46e599}#intro-modal{z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.intro-card{width:800px;height:auto;padding:0;overflow:hidden;display:flex;flex-direction:column;background:#1a1a2e;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080;position:relative;border-radius:24px}.intro-slide{display:none;flex-direction:column;width:100%}.intro-slide.active{display:flex;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.intro-image-container{width:100%;aspect-ratio:16 / 9;position:relative;overflow:hidden;background:#000}.intro-image{width:100%;height:100%;object-fit:contain}.intro-content{height:180px;background:#1e1b2e;padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;position:relative;border-top:1px solid rgba(255,255,255,.05)}.intro-content h2{font-size:1.5rem;font-weight:600;color:#fff;max-width:70%;margin:0;line-height:1.4}.intro-pagination{position:absolute;top:-30px;left:50%;transform:translate(-50%);display:flex;gap:10px}.intro-dot{width:10px;height:10px;border-radius:50%;background:#ffffff80;transition:all .3s ease}.intro-dot.active{background:#fff;transform:scale(1.2)}.intro-next-btn,.intro-start-btn{font-size:1rem;font-weight:600;letter-spacing:.05em;box-shadow:0 4px 15px #7c5cff4d;cursor:pointer}.intro-next-btn:hover,.intro-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c5cff80}
