*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.container{width:100%;max-width:600px}h1{color:#fff;text-align:center;margin-bottom:2rem;font-size:2.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 10px 30px #0003}.card h2{color:#333;margin-bottom:1.5rem;text-align:center;font-size:1.8rem}.code-input{width:100%;padding:1rem;font-size:1.5rem;text-align:center;border:2px solid #ddd;border-radius:8px;margin-bottom:1rem;letter-spacing:.3em;font-family:monospace;transition:border-color .3s}.code-input:focus{outline:none;border-color:#667eea}button{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#e74c3c;background:#fce4e4;border:1px solid #fcc2c3;padding:.8rem;border-radius:6px;margin:1rem 0;text-align:center}.question{margin-bottom:2rem}.question h3{color:#333;margin-bottom:.5rem;font-size:1.3rem}.question .subtitle{color:#666;font-size:.9rem;margin-bottom:1rem}.options{display:flex;flex-direction:column;gap:.8rem}.option{display:flex;align-items:center;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background:#fafafa}.option:hover{border-color:#667eea;background:#f0f3ff}.option input[type=radio]{margin-right:1rem;width:20px;height:20px;cursor:pointer;accent-color:#667eea}.option input[type=radio]:checked+span{color:#667eea;font-weight:600}.success{text-align:center;padding:2rem 0}.success h2{color:#27ae60;font-size:2rem;margin-bottom:1rem}.success p{color:#666;font-size:1.1rem}@media (max-width: 640px){h1{font-size:2rem}.card{padding:1.5rem}.card h2{font-size:1.5rem}}
