.app{max-width:1200px;margin:0 auto;padding:0}.top-banner{background-color:#b7410e;color:#fff;padding:.75rem 2rem;text-align:center;font-size:.875rem;font-weight:500;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.banner-separator{color:#ffffff80}.banner-link{color:#fff;text-decoration:underline;transition:opacity .2s}.banner-link:hover{opacity:.8}.header-section{padding:2rem 2rem 1rem}.tagline-handwritten{font-family:Pacifico,cursive;font-size:2rem;color:#b7410e;margin:1rem 0 .5rem;text-align:center}.tagline-blockchain{font-size:1rem;color:#666;margin-bottom:1.5rem;text-align:center;font-weight:500;letter-spacing:.5px}.left-column{flex:1;display:flex;flex-direction:column;gap:.5rem}.carousel-wrapper{flex:1;display:flex;align-items:stretch;padding:1rem;background-color:#fff5f0;border:2px solid #b7410e;border-radius:8px}.carousel-wrapper .carousel{width:100%;margin:0;display:flex;flex-direction:column;justify-content:center;background:transparent;box-shadow:none;border:none;padding:1rem}.header-section{text-align:center}.status{padding:1rem;background-color:#f0f0f0;border-radius:8px;font-weight:500;margin-bottom:2rem}.main-layout{display:flex;flex-direction:row;align-items:stretch;gap:2rem;padding:0 2rem 2rem}.scene-section{flex:2;background-color:#1a1a1a;border-radius:8px;overflow:hidden;position:relative;height:400px;min-height:40vh;max-height:60vh}.webcam-section{border:2px solid #b7410e;border-radius:8px 8px 0 0;padding:1rem;background-color:#fff5f0;text-align:center}#debug-info{position:absolute;top:10px;left:10px;background:#000000b3;color:#fff;padding:10px;font-family:monospace;font-size:12px;border-radius:5px;max-width:300px;z-index:10}#webcam{width:100%;max-width:640px;border-radius:8px}@media (max-width: 768px){.top-banner{font-size:.75rem;padding:.5rem 1rem;gap:.5rem}.header-section{padding:1rem}.tagline-handwritten{font-size:1.5rem}.tagline-blockchain{font-size:.875rem}.header-section{padding:1rem;margin-bottom:0}.main-layout{flex-direction:column;height:calc(100vh - 120px);gap:0;padding:0}.left-column{order:2;flex:none;height:50vh}.carousel-wrapper{border-radius:0;border:none;border-top:2px solid #b7410e}.scene-section{order:1;flex:none;width:100%;height:50vh;min-height:auto;max-height:none;border-radius:0}.webcam-section{flex:none;width:100%;border:none;border-radius:0;padding:0;background-color:transparent;margin-top:0}.webcam-section .status{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;z-index:10;margin-bottom:0}.webcam-section button{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:10;padding:12px 24px;font-size:1rem;border-radius:50px;min-width:140px}.webcam-section .videoView{width:100%;height:100%;position:relative}.webcam-section video,.webcam-section canvas{width:100%!important;height:100%!important;object-fit:cover;border-radius:0}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;width:600px;box-shadow:0 20px 40px #0000004d;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#374151}.modal-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:20px 24px;text-align:center}.modal-video{width:100%;max-width:500px;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:center}.modal-download-btn{background:#059669;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.modal-download-btn:hover{background:#047857;transform:translateY(-1px)}.modal-cancel-btn{background:#6b7280;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.modal-cancel-btn:hover{background:#4b5563;transform:translateY(-1px)}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{width:100%;max-height:95vh}.modal-header{padding:16px 20px 12px}.modal-header h2{font-size:18px}.modal-body{padding:16px 20px}.modal-footer{padding:12px 20px 20px;flex-direction:column}.modal-download-btn,.modal-cancel-btn{width:100%;justify-content:center}}.carousel{width:100%;max-width:700px;margin:2rem auto;padding:2rem 1.5rem;background:#fff5f0;border-radius:16px;box-shadow:0 4px 20px #b7410e1a;border:1px solid rgba(183,65,14,.1)}.carousel-slide{display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:140px;justify-content:center;transition:opacity .5s ease-in-out}.carousel-slide.fade-out{opacity:0}.carousel-slide.fade-in{opacity:1}.carousel-icon{font-size:3rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.carousel-text{font-size:1.125rem;line-height:1.7;color:#123;text-align:center;max-width:600px;margin:0;font-weight:500}.carousel-dots{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.carousel-dot{width:12px;height:12px;border-radius:50%;background-color:#1233;border:none;cursor:pointer;transition:all .3s ease;padding:0}.carousel-dot:hover{background-color:#11223380;transform:scale(1.1)}.carousel-dot.active{background-color:#123;width:32px;border-radius:6px}@media (max-width: 768px){.carousel{padding:1.5rem 1rem;margin:1rem auto}.carousel-icon{font-size:2.5rem}.carousel-text{font-size:1rem}.carousel-slide{min-height:120px}}.screen-recorder-overlay{position:absolute;top:15px;right:15px;z-index:20;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.countdown-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;text-align:center;background:#000c;color:#fff;padding:30px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.countdown-number{font-size:72px;font-weight:700;color:#ff6b35;animation:countdownPulse 1s ease-in-out;line-height:1}.countdown-text{font-size:18px;margin-top:10px;opacity:.9}@keyframes countdownPulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.record-overlay-btn{background:#dc2626e6;color:#fff;border:none;padding:12px 16px;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);min-width:70px}.record-overlay-btn:hover:not(:disabled){background:#b91c1cf2;transform:scale(1.05)}.record-overlay-btn:disabled{background:#9ca3afe6;cursor:not-allowed;transform:none}.record-overlay-btn.recording{background:#dc2626f2;animation:recordingPulse 1.5s infinite}@keyframes recordingPulse{0%,to{opacity:1;box-shadow:0 0 #dc2626b3}50%{opacity:.8;box-shadow:0 0 0 10px #dc262600}}.view-recording-btn{background:#059669e6;color:#fff;border:none;padding:10px 14px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.view-recording-btn:hover{background:#047857f2;transform:scale(1.05)}@media (max-width: 768px){.screen-recorder-overlay{top:10px;right:10px}.record-overlay-btn{padding:10px 12px;font-size:12px;min-width:60px}.view-recording-btn{padding:8px 12px;font-size:11px}.countdown-overlay{padding:20px}.countdown-number{font-size:60px}.countdown-text{font-size:16px}}
