*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#2d3748;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}#root{width:100%;min-height:100vh}button{border-radius:8px;border:none;font-family:inherit;cursor:pointer;transition:all .2s ease}button:focus,button:focus-visible{outline:2px solid #4299e1;outline-offset:2px}.app{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}.dashboard{width:100%;max-width:1200px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.dashboard-header h1{margin:0;font-size:1.8rem;font-weight:600}.dashboard-stats{display:flex;gap:2rem;font-size:.95rem}.dashboard-stats span{background:#fff3;padding:.5rem 1rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.9rem;font-weight:600;height:36px;display:inline-block;vertical-align:middle;text-align:center;line-height:1}.back-button:hover{background:#ffffff4d;transform:translateY(-2px)}.dashboard-content{padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.sessions-list{min-height:400px}.sessions-list-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1rem;gap:1rem}.sessions-list h2{margin:0;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.download-all-button{background:#9c27b0;color:#fff;border:none;padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;height:36px;display:inline-block;vertical-align:middle;text-align:center;line-height:1}.download-all-button:hover:not(:disabled){background:#7b1fa2;transform:translateY(-2px);box-shadow:0 4px 8px #9c27b04d}.download-all-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.sessions-table{overflow-x:auto;margin-top:1rem}.sessions-table table{width:100%;border-collapse:collapse;font-size:.9rem}.sessions-table th,.sessions-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}.sessions-table th:last-child,.sessions-table td:last-child{text-align:center;white-space:nowrap;padding:.75rem 1rem;vertical-align:middle}.sessions-table td{white-space:nowrap}.sessions-table td:last-child{display:flex;justify-content:center;align-items:center;gap:.5rem}.sessions-table th{background:#f8f9fa;font-weight:600;color:#555;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.sessions-table tr:hover{background:#f8f9fa}.sessions-table tr.selected{background:#e3f2fd}.result-badge{padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;display:inline-block;vertical-align:middle;text-align:center}.result-badge.gg{background:#ffebee;color:#c62828}.result-badge.gg1{background:#e8f5e8;color:#2e7d32}.result-badge.incomplete{background:#f3e5f5;color:#7b1fa2}.view-button,.download-button{padding:.5rem 1rem;margin:.2rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease;min-width:80px;max-width:80px;height:36px;font-weight:600;display:inline-block;vertical-align:middle;text-align:center;line-height:1}.view-button{background:#2196f3;color:#fff}.view-button:hover{background:#1976d2;transform:translateY(-1px)}.download-button{background:#4caf50;color:#fff}.download-button:hover:not(:disabled){background:#388e3c;transform:translateY(-1px)}.download-button:disabled{background:#e2e8f0!important;color:#718096!important;cursor:not-allowed;transform:none;box-shadow:none;opacity:1}.session-details{background:#f8f9fa;border-radius:8px;padding:1.5rem;max-height:70vh;overflow-y:auto}.session-details h2{margin-top:0;color:#333;border-bottom:2px solid #ddd;padding-bottom:.5rem}.session-info{background:#fff;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border-left:4px solid #2196f3}.session-info h3{margin:0 0 1rem;color:#555}.session-info p{margin:.5rem 0;font-size:.9rem}.answers-list h3{color:#555;margin-bottom:1rem}.answer-item{background:#fff;padding:.8rem;margin-bottom:.5rem;border-radius:4px;border-left:3px solid #ff9800;display:flex;gap:1rem;align-items:center;font-size:.9rem}.question-id{background:#e3f2fd;color:#1976d2;padding:.3rem .6rem;border-radius:4px;font-weight:600;min-width:40px;text-align:center}.option{background:#fff3e0;color:#ef6c00;padding:.3rem .6rem;border-radius:4px;font-weight:600;min-width:30px;text-align:center}.option-text{flex:1;color:#333}.additional-input{background:#fff;padding:1rem;border-radius:6px;border-left:4px solid #9c27b0;margin-top:1rem}.additional-input h3{margin:0 0 1rem;color:#555}.input-content p{margin:.5rem 0;font-size:.9rem}.loading{text-align:center;padding:3rem;font-size:1.1rem;color:#666}@media (max-width: 768px){.dashboard-content{grid-template-columns:1fr}.dashboard-header{flex-direction:column;text-align:center}.dashboard-stats{flex-direction:column;gap:.5rem}.sessions-table{font-size:.8rem}.sessions-table th,.sessions-table td{padding:.5rem .3rem}}.question-container{width:100%;max-width:800px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;overflow:hidden;position:relative}.question-content{padding:2.5rem;text-align:center}.question-image{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;min-height:200px}.question-image img{max-width:100%;max-height:300px;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.question-image img:hover{transform:scale(1.02)}.image-placeholder{display:flex;justify-content:center;align-items:center;min-height:200px;background:#f8fafc;border-radius:12px;border:2px dashed #cbd5e0}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #4299e1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.question-title{font-size:1.3rem;font-weight:500;color:#2d3748;margin-bottom:2.5rem;line-height:1.7;padding:1.5rem;background:#f8fafc;border-radius:12px;border-left:5px solid #4299e1;text-align:left;box-shadow:0 2px 8px #0000000a}.options{display:flex;flex-direction:column;gap:.8rem}.option-button{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;font-size:1rem}.option-button:hover{border-color:#4299e1;background:#f7fafc;transform:translateY(-1px)}.option-button.selected{border-color:#4299e1;background:#ebf8ff}.option-button:disabled{cursor:not-allowed;opacity:.7}.option-label{font-weight:700;color:#4299e1;min-width:20px}.option-text{flex:1;color:#2d3748}.result-container{width:100%;max-width:900px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;overflow:hidden;position:relative}.result-content{padding:2.5rem;text-align:center}.result-image{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;min-height:200px}.result-image img{max-width:100%;max-height:300px;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 4px 12px #0000001a}.result-title{font-size:1.5rem;font-weight:600;color:#2d3748;margin-bottom:2rem}.path-summary{text-align:left;margin-bottom:2rem}.path-summary h3{font-size:1.1rem;color:#4a5568;margin-bottom:1rem}.path-list{background:#f8f9fa;border-radius:8px;padding:1rem;max-height:300px;overflow-y:auto}.path-step{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.path-step:last-child{border-bottom:none}.step-number{font-weight:700;color:#718096;min-width:20px}.step-option{font-weight:700;color:#4299e1;min-width:20px}.step-text{flex:1;color:#4a5568;font-size:.9rem}.restart-button{background:#4299e1;color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;cursor:pointer;transition:background .2s ease}.restart-button:hover{background:#3182ce}.end-result-container{width:100%;max-width:900px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;overflow:hidden;position:relative}.end-result-content{padding:2.5rem;text-align:center}.end-result-image{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;width:100%}.end-result-image img{width:60%;max-width:400px;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 4px 12px #0000001a}.end-result-title{font-size:1.5rem;font-weight:600;color:#2d3748;margin-bottom:2rem}.additional-input{margin-bottom:2rem;text-align:left}.additional-input h3{font-size:1.1rem;color:#4a5568;margin-bottom:1rem}.input-textarea{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;min-height:120px;transition:border-color .2s ease}.input-textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.input-textarea::placeholder{color:#a0aec0}.input-hint{font-size:.85rem;color:#ed8936;margin:.5rem 0 0;font-style:italic}.error{text-align:center;padding:3rem;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;max-width:600px;width:100%}.error p{font-size:1.1rem;color:#e53e3e;margin-bottom:1rem}.error button{background:#4299e1;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;cursor:pointer;font-size:1rem}.login-container{width:100%;max-width:600px;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;overflow:hidden;position:relative}.login-content{padding:3rem 2.5rem;text-align:center}.login-header{margin-bottom:2.5rem}.login-header h1{font-size:1.8rem;font-weight:600;color:#2d3748;margin:0 0 1rem}.login-header p{font-size:1rem;color:#718096;margin:0;line-height:1.6}.login-form{margin-bottom:2rem}.name-input-group{margin-bottom:2rem;text-align:left}.input-label{display:block;font-size:1rem;font-weight:500;color:#4a5568;margin-bottom:.75rem}.name-input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s ease;background:#fff}.name-input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.name-input:disabled{background:#f7fafc;cursor:not-allowed;opacity:.7}.name-input::placeholder{color:#a0aec0}.start-button{width:100%;background:#4299e1;color:#fff;border:none;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;min-height:56px;display:flex;align-items:center;justify-content:center}.start-button:hover:not(:disabled){background:#3182ce;transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d}.start-button:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.start-button.loading{background:#4299e1;cursor:wait}.loading-text{display:flex;align-items:center;gap:.5rem}.loading-spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.login-footer{text-align:center}.login-footer p{font-size:.9rem;color:#a0aec0;margin:0;line-height:1.5}@media (max-width: 768px){.app{padding:1rem;align-items:center}.question-container,.result-container,.end-result-container,.login-container{max-width:100%;border-radius:16px}.question-content,.result-content,.end-result-content,.login-content{padding:1.5rem}.end-result-image img{width:70%;max-width:300px}.question-image{min-height:150px;margin-bottom:1.5rem}.question-image img{max-height:200px}.question-title{font-size:1.1rem;padding:1rem;margin-bottom:2rem}.option-button{padding:1rem;gap:.8rem}.option-text{font-size:.95rem}.result-image{min-height:150px}.result-image img{max-height:200px}}@media (max-width: 480px){.app{padding:.5rem;align-items:center}.question-content,.result-content,.end-result-content,.login-content{padding:1rem}.question-title{font-size:1rem;padding:.75rem;margin-bottom:1.5rem}.option-button{padding:.75rem;font-size:.9rem}.question-image,.result-image{min-height:120px;margin-bottom:1rem}.question-image img,.result-image img{max-height:150px}}
