html,body,#root{height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{background:#1e1b2e;color:#fff;overflow-x:hidden}#root{display:flex;flex-direction:column}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{background:#000;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.fullscreen-app{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navigation-overlay{position:fixed;top:10px;left:50%;transform:translate(-50%);display:flex;gap:20px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:20px;z-index:1000;border:1px solid rgba(255,255,255,.2)}.nav-link{color:#fff;text-decoration:none;padding:6px 12px;border-radius:12px;transition:all .3s ease;font-size:14px;font-weight:500}.nav-link:hover{background:#ffffff1a;transform:scale(1.05)}.nav-current{color:#4caf50;padding:6px 12px;border-radius:12px;background:#4caf5033;font-size:14px;font-weight:600}.status-overlay{position:fixed;top:15px;left:15px;z-index:1000;background:#000000d9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:15px;border-radius:12px;border:1px solid rgba(255,255,255,.2);font-family:Courier New,monospace;max-width:320px;min-width:280px}.status-info{display:flex;flex-direction:column;gap:12px}.status{font-weight:700;padding:8px 12px;border-radius:8px;text-align:center;margin-bottom:8px;font-size:14px}.status.loading{background:#ff9800;color:#000}.status.ready{background:#4caf50;color:#000}.status.error{background:#f44336;color:#fff}.debug-text{font-size:11px;color:#ccc;font-style:italic;line-height:1.3}.debug-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:11px;transition:all .3s ease;align-self:flex-start}.debug-toggle:hover{background:#fff3;transform:scale(1.05)}.gesture-status{display:flex;flex-direction:column;gap:8px;padding:10px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.gesture-line{display:flex;justify-content:space-between;align-items:center;font-size:12px}.hand-label{font-weight:700;color:#fff;min-width:70px}.gesture-info{text-align:right;flex:1}.gesture-name{color:#4caf50;font-weight:700;text-transform:capitalize}.confidence{color:#ccc;font-size:10px;margin-left:4px}.no-gesture{color:#999;font-style:italic}.system-status{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#aaa;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.instructions-overlay{position:fixed;bottom:15px;right:15px;z-index:1000;background:#000000d9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:15px;border-radius:12px;border:1px solid rgba(255,255,255,.2);max-width:280px;font-size:12px}.instructions-overlay h3{margin:0 0 10px;color:#4caf50;font-size:14px}.instructions-overlay p{margin:5px 0;color:#fff;line-height:1.4}@media (max-width: 768px){.status-overlay{top:10px;left:10px;right:10px;max-width:none;min-width:auto;font-size:11px}.status{font-size:12px;padding:6px 10px}.gesture-line{font-size:11px}.hand-label{min-width:60px}.instructions-overlay{bottom:10px;right:10px;left:10px;max-width:none;font-size:11px}.instructions-overlay h3{font-size:13px}.instructions-overlay p{margin:4px 0}}@media (max-width: 480px){.status-overlay{padding:12px}.gesture-status{padding:8px}.gesture-line{font-size:10px}.hand-label{min-width:55px}.instructions-overlay{padding:12px;font-size:10px}.instructions-overlay h3{font-size:12px}}.camera-fullscreen{position:relative;width:100vw;height:100vh;overflow:hidden}.video-fullscreen{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.canvas-fullscreen{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}.camera-error-fullscreen,.loading-fullscreen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#000000e6;padding:40px;border-radius:20px;border:2px solid rgba(255,255,255,.1)}.retry-btn{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;margin-top:20px;transition:all .3s ease}.retry-btn:hover{background:#45a049;transform:scale(1.05)}.app{min-height:100vh;background:linear-gradient(135deg,#1e1b2e,#2a2546)}.app-header{padding:1.5rem 2rem;background:var(--card-bg);border-bottom:2px solid var(--border-color);box-shadow:0 4px 20px #0000004d}.app-header h1{text-align:center;font-size:2.5rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.score{display:flex;justify-content:center;align-items:center;gap:2rem;font-size:1.2rem;font-weight:600}.score span{padding:.5rem 1rem;background:var(--border-color);border-radius:8px;border:2px solid var(--primary-color)}.reset-score-btn{padding:.5rem 1rem;background:var(--danger-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.reset-score-btn:hover{background:#dc2626;transform:translateY(-2px)}.detector-status{text-align:center;margin-top:1rem;font-size:.9rem;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.manual-toggle{padding:.5rem 1rem;background:var(--border-color);color:var(--text-primary);border:2px solid var(--primary-color);border-radius:8px;cursor:pointer;font-weight:600;font-size:.8rem;transition:all .3s ease}.manual-toggle:hover{background:var(--primary-color);transform:translateY(-1px)}.manual-toggle.active{background:var(--success-color);border-color:var(--success-color)}.debug-info{text-align:center;margin-top:.5rem;padding:.5rem;background:#0000004d;border-radius:6px;font-family:monospace}.debug-info small{color:var(--text-secondary);font-size:.75rem}.manual-status{color:var(--success-color)!important;font-weight:600;font-size:.9rem}.manual-controls{display:flex;gap:1rem;margin:1.5rem 0;justify-content:center;flex-wrap:wrap}.gesture-btn{padding:1rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #6366f14d;min-width:120px}.gesture-btn:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.gesture-btn:active{transform:translateY(0)}.game-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;max-width:1400px;margin:0 auto}.camera-section{display:flex;flex-direction:column;gap:1.5rem}.camera-container{position:relative;background:var(--card-bg);border:3px solid var(--border-color);border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 8px 32px #0000004d}.camera-feed{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.camera-feed.loading{opacity:.5}.landmarks-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.game-instructions{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:2px solid var(--border-color)}.game-instructions p{margin-bottom:.5rem;color:var(--text-secondary)}.game-section{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--card-bg);border-radius:16px;padding:2rem;border:3px solid var(--border-color);box-shadow:0 8px 32px #0000004d}.waiting-state,.countdown-state,.playing-state,.result-state{text-align:center;width:100%}.waiting-state h2,.countdown-state h2,.playing-state h2,.result-state h2{font-size:2rem;margin-bottom:1rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.waiting-state p,.countdown-state p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.detection-hint{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;font-style:italic}.start-btn{padding:1rem 2rem;font-size:1.2rem;background:var(--gradient);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 20px #6366f14d}.start-btn:hover{transform:translateY(-3px);box-shadow:0 6px 25px #6366f166}.start-btn.disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none}.start-btn.disabled:hover{transform:none;box-shadow:none}.countdown-number{font-size:4rem;font-weight:900;color:var(--warning-color);text-shadow:0 0 20px rgba(245,158,11,.5);margin:1rem 0;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.choices-display{display:flex;justify-content:space-around;align-items:center;margin:2rem 0;width:100%}.player-choice,.computer-choice{text-align:center;flex:1}.player-choice h3,.computer-choice h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-secondary)}.choice,.choice-placeholder{font-size:4rem;padding:1rem;background:var(--border-color);border-radius:50%;width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin:0 auto;border:3px solid var(--primary-color);box-shadow:0 4px 20px #0000004d;transition:all .3s ease}.choice-placeholder{color:var(--text-secondary);animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.vs{font-size:1.5rem;font-weight:900;color:var(--primary-color);margin:0 1rem;flex:0}.result-actions{display:flex;gap:1rem;margin-top:2rem}.play-again-btn,.back-btn{padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.play-again-btn{background:var(--success-color);color:#fff}.play-again-btn:hover{background:#059669;transform:translateY(-2px)}.back-btn{background:var(--border-color);color:var(--text-primary)}.back-btn:hover{background:var(--text-secondary);transform:translateY(-2px)}@media (max-width: 1024px){.game-container{grid-template-columns:1fr;gap:1.5rem}.app-header h1{font-size:2rem}.score{flex-direction:column;gap:1rem}.detector-status{flex-direction:column;gap:.5rem}.gesture-detection-overlay{top:20px;right:20px;transform:none;padding:20px 25px}.gesture-emoji{font-size:60px}.gesture-name{font-size:20px}.gesture-confidence{font-size:12px}}@media (max-width: 768px){.app-header,.game-container{padding:1rem}.choices-display{flex-direction:column;gap:1rem}.vs{transform:rotate(90deg);margin:1rem 0}.choice,.choice-placeholder{width:100px;height:100px;font-size:3rem}.result-actions{flex-direction:column}.manual-controls{flex-direction:column;align-items:center}.gesture-btn{min-width:200px}.gesture-detection-overlay{position:relative;top:auto;right:auto;margin:1rem auto 0}.debug-info{font-size:.7rem;padding:.3rem}}.waiting-state,.countdown-state,.playing-state,.result-state{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-status{color:var(--success-color)!important;font-weight:600;font-size:.9rem}
